/* =========================================================================
   GMAIL SKIN FOR ROUNDCUBE - STANDALONE EDITION
   Self-contained: Bundles core layout, FontAwesome icons & Google Sans
   Works independently on any Roundcube 1.6+ install
========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Roboto:wght@300;400;500;700&display=swap');

/* -- BASE LAYOUT & ICONS (SELF-CONTAINED) ------------------------------ */
#filtersetslist td.name:before,
#filterslist td.name:before,
#identities-table td.mail:before,
#message-header .header-links a:before,
#message-header>.subject a.extwin:before,
#responses-table td.name:before,
.attachmentslist li a.cancelupload:before,
.attachmentslist li a.delete:before,
.attachmentslist li:before,
.contactlist li a:before,
.contactlist td.contact:before,
.contactlist td.contactgroup:before,
.floating-action-buttons a.button:before,
.folderlist li a:before,
.googie_list li .googie_add_to_dict:before,
.googie_list li .googie_list_revert:before,
.html-editor .editor-toolbar .mce-i-html:before,
.input-group .icon:before,
.keylist li:before,
.listing td.action a:before,
.listing.iconized li a:before,
.listing.iconized li>i:before,
.listing.iconized tr td:before,
.listing.iconized.selectable li a:before,
.menu a:before,
.message-htmlpart blockquote span.blockquote-link:after,
.message-part blockquote span.blockquote-link:after,
.messagelist span.attachment span,
.messagelist span.flagged:before,
.messagelist td.subject span.msgicon.status.replied.forwarded:after,
.messagelist td.subject span.msgicon.status:before,
.messagelist tr.flaggedroot:not(:hover) span.unflagged:before,
.messagelist tr.thread td.threads div:before,
.multi-input a.icon.reset:before,
.pgpkeyimport div.key label.keyid+a:before,
.pgpkeyimport li.uid:before,
.popover .menu li a[aria-haspopup]:after,
.propform td.rowbuttons a:before,
.quota-widget:before,
.searchbar a:before,
.searchbar form:before,
.table-widget table.options-table td:not(:first-child) span:before,
.tagedit-list li.tagedit-listelement-old a:before,
.ui-datepicker .ui-datepicker-next:before,
.ui-datepicker .ui-datepicker-prev:before,
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link.options:before,
.ui-dialog .ui-dialog-titlebar-close:before,
.ui.alert>i.icon:before,
a.button.icon:before,
body.status-flagged #message-header>.subject:before,
button.btn:before,
div.tox .tox-dialog__footer .tox-button:before,
div.tox .tox-dialog__header .tox-button:before,
fieldset.advanced>legend:after,
p.image-attachment .attachment-links a:before,
table.table th.checkbox-cell:before,
ul.treelist li div.treetoggle:before {
  font-size: 1.25em;
  display: block;
  float: left;
  margin: 0 .25rem 0 0;
  width: 1.18em;
  height: 1em;
  font-family: Icons;
  font-style: normal;
  font-weight: 900;
  text-decoration: inherit;
  text-align: center;
  speak: none;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased
}

@font-face {
  font-family: Icons;
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/fa-solid-900.woff2") format('woff2'), url("../fonts/fa-solid-900.woff") format('woff')
}

@font-face {
  font-family: Icons;
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/fa-regular-400.woff2") format('woff2'), url("../fonts/fa-regular-400.woff") format('woff')
}

@font-face {
  font-family: Roboto;
  font-style: normal;
  font-weight: 400;
  src: local('Roboto'), local('Roboto-Regular'), url('../fonts/roboto-v29-regular.woff2') format('woff2'), url('../fonts/roboto-v29-regular.woff') format('woff')
}

@font-face {
  font-family: Roboto;
  font-style: italic;
  font-weight: 400;
  src: local('Roboto Italic'), local('Roboto-Italic'), url('../fonts/roboto-v29-italic.woff2') format('woff2'), url('../fonts/roboto-v29-italic.woff') format('woff')
}

@font-face {
  font-family: Roboto;
  font-style: normal;
  font-weight: 700;
  src: local('Roboto Bold'), local('Roboto-Bold'), url('../fonts/roboto-v29-regular-700.woff2') format('woff2'), url('../fonts/roboto-v29-regular-700.woff') format('woff')
}

@font-face {
  font-family: Roboto;
  font-style: italic;
  font-weight: 700;
  src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url('../fonts/roboto-v29-italic-700.woff2') format('woff2'), url('../fonts/roboto-v29-italic-700.woff') format('woff')
}

.popover,
body,
button,
input,
optgroup,
select,
textarea {
  font-family: Roboto, sans-serif
}

button,
input,
select,
textarea {
  line-height: initial
}

input {
  vertical-align: middle
}

a {
  color: #00acff
}

a:hover {
  color: #008acc
}

a.disabled {
  pointer-events: none
}

a.disabled:not(.btn) {
  opacity: .5
}

html:not(.touch) ::-webkit-scrollbar {
  width: 6px
}

html {
  scrollbar-color: #c1c1c1 #f1f1f1
}

html:not(.touch) ::-webkit-scrollbar-track {
  background-color: #f1f1f1
}

html:not(.touch) ::-webkit-scrollbar-thumb {
  background-color: #c1c1c1
}

html {
  height: 100%;
  font-size: 14px
}

body {
  min-width: 240px;
  height: 100%;
  color: #2c363a;
  overflow: hidden
}

html.iframe body {
  overflow: auto
}

#layout {
  overflow: hidden;
  display: flex;
  height: 100%;
  width: 100%
}

#layout>div>.scroller {
  flex: 1;
  position: relative
}

#layout>div>.footer,
#layout>div>.header {
  font-size: 1rem;
  font-weight: 700;
  line-height: 58px;
  height: 58px;
  min-height: 58px;
  padding: 0 .25em;
  margin: 0;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  display: flex;
  justify-content: center
}

#layout>div>.header {
  border-bottom: 1px solid #d4dbde;
  color: #2c363a;
  background-color: #f4f4f4
}

#layout>div>.header .header-title {
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  text-align: center;
  margin: 0 -20rem
}

#layout>div>.header a.button {
  color: #2c363a
}

#layout>div>.header a.toolbar-list-button,
#layout>div>.header a.toolbar-menu-button {
  order: 99
}

#layout>div>.footer {
  border-top: 1px solid #d4dbde;
  background-color: #fff
}

#layout>div>.footer.small {
  height: 35px;
  min-height: 35px;
  line-height: 35px
}

#layout>div>.footer:empty {
  display: none
}

#layout-sidebar {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 2;
  max-width: 30%;
  min-width: 220px;
  border-right: 1px solid #d4dbde;
  background-color: #fff
}

#layout-sidebar.sidebar-right {
  order: 2;
  border-right: 0;
  border-left: 1px solid #d4dbde;
  flex: 3
}

#layout-list {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 3;
  max-width: 30%;
  min-width: 300px;
  border-right: 1px solid #d4dbde;
  background-color: #fff
}

#layout-content {
  display: flex;
  flex: 6;
  flex-direction: column;
  background-color: #fff;
  width: 100%
}

html.iframe #layout-content {
  height: 100%
}

#layout-content>.content,
#layout-content>.formcontent {
  height: 100%;
  width: 100%;
  overflow: auto;
  flex: 1
}

#layout-content .iframe-wrapper {
  width: 100%;
  flex: 1
}

#layout-content .iframe-wrapper iframe {
  width: 100%;
  height: 100%;
  border: 0
}

#layout-content.only>.scroller {
  overflow: auto
}

#layout-menu.popover {
  left: 0 !important
}

#layout-menu .popover-header {
  height: 58px;
  line-height: 58px;
  border: 0;
  border-radius: 0;
  text-align: center
}

#layout-menu .popover-header img {
  max-height: 58px;
  max-width: 78px;
  padding: .25rem
}

@media screen and (min-width:481px) and (max-width:1024px) {
  #layout-menu .popover-header img {
    max-width: 35.1px
  }
}

@media screen and (min-width:481px) {
  #layout-menu .popover-header {
    padding: 0 !important;
    background-color: #2f3a3f !important
  }

  #layout-menu .popover-header a {
    display: none !important
  }
}

html.layout-phone #layout-menu .popover-header {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0 .5rem
}

html.layout-phone #layout-menu .popover-header img {
  max-width: 222px
}

html.layout-phone #layout-menu .popover-header a {
  width: auto;
  flex: 1
}

html.layout-phone #layout-menu .popover-header a:before {
  height: 58px;
  float: right
}

html.layout-phone #layout-menu .popover-header a .inner {
  display: none
}

.column-resizer {
  cursor: col-resize;
  z-index: 1;
  position: absolute;
  top: 0;
  right: -3px;
  width: 6px;
  height: 100%
}

.column-resizer.inverted {
  right: auto;
  left: -3px
}

.column-resizer.active {
  width: 10000px;
  right: -5000px
}

.column-resizer.active.inverted {
  right: auto;
  left: -5000px
}

@media screen and (max-width:1200px) {

  #layout-list,
  #layout-sidebar {
    min-width: 260px;
    flex: 3
  }

  #layout-list>.header>a.button {
    padding: 0 .25rem;
    margin: 0 .25rem
  }
}

@media screen and (max-width:1024px) {
  .column-resizer {
    display: none
  }

  #layout-list,
  #layout-sidebar {
    width: auto !important;
    flex: 3 !important
  }
}

@media screen and (max-width:768px) {

  #layout-list,
  #layout-sidebar {
    max-width: none;
    border: 0 !important
  }

  #layout>div>.header {
    background-color: #f4f4f4
  }

  #layout>div>.header a.button {
    margin: 0 .3rem !important;
    padding: 0 !important
  }

  #layout>div>.header a.button:before {
    font-size: 1.75rem;
    height: 58px;
    margin: 0
  }

  #layout>div>.header a.button.filter:before {
    font-size: 1.6rem
  }

  #layout>div>.header a.button .inner {
    display: none
  }

  #layout>div>.footer {
    background-color: #f4f4f4
  }

  a.toolbar-list-button {
    display: none
  }
}

@media screen and (max-width:320px) {

  #layout-list,
  #layout-sidebar {
    min-width: 240px
  }
}

@media screen and (min-width:481px) {
  a.task-menu-button {
    display: none
  }

  #layout-menu {
    background-color: #2f3a3f;
    width: 42px
  }
}

@media screen and (min-width:769px) {

  #layout-content>.header>.header-title,
  #layout>div>.header>.buttons,
  .floating-action-buttons,
  a.toolbar-menu-button {
    display: none
  }
}

@media screen and (min-width:1025px) {
  #layout-menu {
    width: 78px
  }
}

@media screen and (min-width:1201px) {

  #layout-list>.header>.header-title:not(.all-sizes),
  a.back-list-button,
  a.back-sidebar-button,
  a.toolbar-list-button {
    display: none
  }
}

html.layout-phone .hidden-phone {
  display: none !important
}

html.layout-phone .hidden-small,
html.layout-small .hidden-small {
  display: none !important
}

html.layout-small .hidden-lbs {
  display: none !important
}

html.layout-large .hidden-big,
html.layout-large .hidden-lbs,
html.layout-normal .hidden-big,
html.layout-normal .hidden-lbs {
  display: none !important
}

html.layout-large .hidden-large {
  display: none !important
}

.hidden,
.rcmaddcontact,
.voice {
  display: none !important
}

font.bold {
  font-weight: 700
}

#rcmdraglayer {
  min-width: 260px;
  width: 260px;
  background-color: #2f3a3f;
  color: #fff;
  box-shadow: 3px 3px 5px #f1f3f4;
  border-radius: .3rem;
  z-index: 250;
  opacity: .92;
  padding: .5rem;
  white-space: nowrap
}

#rcmdraglayer div {
  line-height: 1.6em;
  overflow: hidden;
  text-overflow: ellipsis
}

.frame-content {
  padding: 1rem
}

.frame-content h2 {
  font-weight: 700;
  font-size: 1.5em
}

.frame-content h3 {
  font-weight: 700;
  font-size: 1.25em
}

.listbox .scroller {
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto
}

.listbox .navlist {
  height: 0;
  flex: initial !important
}

.listbox .navlist .listing li:last-child,
.listbox .navlist .listing tr:last-child td {
  border-bottom: 0
}

.popup .listbox {
  height: 100%;
  display: flex;
  flex-direction: column
}

.popup .listbox .scroller {
  flex: 1
}

.popup .listbox .footer {
  border-top: 1px solid #d4dbde;
  background-color: #fbfbfb
}

.contact-header {
  display: flex;
  margin-bottom: 1rem
}

.contact-header .contact-photo {
  min-width: 112px
}

.contact-header .contact-head {
  margin-left: 1rem;
  margin-top: 0 !important
}

.contact-header .contact-head legend {
  display: none
}

p.image-attachment {
  position: relative;
  border: 1px solid #ddd;
  border-radius: .3rem;
  background-color: rgba(55, 190, 255, .05);
  float: left;
  margin: .5rem;
  min-width: 47%;
  min-height: 250px;
  overflow: hidden;
  display: flex;
  justify-content: center
}

@media screen and (max-width:480px) {
  p.image-attachment {
    float: none;
    margin: .5rem 0 .5rem 0
  }
}

p.image-attachment .image-link {
  align-self: center;
  text-align: center;
  margin: 1.6rem .5rem
}

p.image-attachment span {
  color: #737677;
  padding: 0 .5rem;
  font-size: 90%;
  white-space: nowrap;
  position: absolute;
  line-height: 1.5rem
}

p.image-attachment .image-filename {
  overflow: hidden;
  text-overflow: ellipsis;
  left: 0;
  top: 0;
  right: 0;
  padding-right: 4rem
}

p.image-attachment .image-filesize {
  right: 0;
  top: 0
}

p.image-attachment .attachment-links {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center
}

p.image-attachment .attachment-links a {
  text-decoration: none;
  display: inline-block;
  padding: 0 .5rem;
  line-height: 1.5rem
}

p.image-attachment .attachment-links a:before {
  display: inline-block
}

p.image-attachment .attachment-links a.open:before {
  content: "\f360"
}

p.image-attachment .attachment-links a.download:before {
  content: "\f019"
}

fieldset.image-attachment {
  margin-top: .5rem
}

fieldset.image-attachment legend {
  color: #737677;
  font-size: .9rem;
  border-top: 1px solid #f5f5f5;
  margin: 0
}

fieldset.image-attachment img {
  max-width: 100%
}

#folder-selector,
.popover #folder-selector,
.popover-body #folder-selector,
div.popover #folder-selector {
  position: static !important;
  left: auto !important;
  top: auto !important;
  display: block !important;
  max-height: 400px;
  overflow-y: auto;
}

.noselect {
  user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none
}

.iframe-loader {
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, .95);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3
}

.iframe-loader .spinner-border {
  width: 7rem;
  height: 7rem;
  color: #f1f3f4;
  border: 1rem solid;
  border-color: currentColor #737677 currentColor currentColor
}

.footer.toolbar+.iframe-loader {
  top: 58px;
  bottom: 58px
}

.ios-scroll {
  padding: 0;
  -webkit-overflow-scrolling: touch !important;
  overflow: scroll !important
}

.ios-scroll.iframe-wrapper {
  margin-top: 1px
}

.webkit-scroller::-webkit-scrollbar {
  -webkit-appearance: none
}

.webkit-scroller::-webkit-scrollbar:vertical {
  width: .5rem
}

.webkit-scroller::-webkit-scrollbar:horizontal {
  height: .5rem
}

.webkit-scroller::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, .3);
  border-radius: .25rem;
  border: 2px solid #fff
}

.quota-widget {
  width: 100%;
  max-width: 15em;
  padding: .5rem 1rem;
  display: flex;
  align-items: center;
  color: #737677
}

.quota-widget:before {
  content: "\f0a0";
  line-height: 1
}

.quota-widget .count {
  font-size: 80%;
  order: 2
}

.quota-widget .bar {
  flex: 1;
  height: .5rem;
  margin: 0 1rem;
  background-color: #fff;
  border: 1px solid #d4dbde;
  border-radius: .25rem;
  overflow: hidden
}

.quota-widget .value {
  display: block;
  background-color: #37beff;
  height: 1rem;
  opacity: .75
}

.quota-widget .value.warning {
  background-color: #ff5552
}

.image-tools {
  position: absolute;
  top: 5rem;
  left: 0;
  height: 58px;
  overflow: hidden;
  transform: translateX(-87%);
  transition: transform .3s ease-in-out;
  background-color: rgba(55, 190, 255, .4);
  border-radius: 0 .3rem .3rem 0
}

.image-tools .menu {
  float: left
}

.image-tools a.button.icon.tools {
  padding: 0 .25rem;
  display: inline-block;
  height: 58px
}

.image-tools a.button.icon.tools span.inner {
  display: none
}

.image-tools a.button.icon.tools:before {
  line-height: 58px;
  margin: 0
}

.image-tools.open {
  transform: translateX(0)
}

.image-tools.open a.button.icon.tools:before {
  content: "\f053"
}

.image-tools a {
  color: #fff !important
}

.image-tools a:focus,
.image-tools a:hover {
  background-color: rgba(55, 190, 255, .5) !important;
  outline: 0
}

.quota-info {
  width: 100%;
  display: table !important
}

.quota-info td,
.quota-info th {
  text-align: center;
  white-space: nowrap
}

.quota-info th {
  border-top: 0
}

.quota-info .root {
  line-height: 1;
  font-style: italic;
  color: #737677;
  background-color: #f1f3f4
}

.quota-info .name,
.quota-info th:first-child {
  text-align: left
}

.nav-tabs {
  flex-wrap: nowrap
}

.nav-tabs .nav-item {
  white-space: nowrap;
  overflow: hidden
}

.nav-tabs .nav-link {
  overflow: hidden;
  text-overflow: ellipsis
}

.props-table td.title {
  width: 7em
}

.table-widget {
  display: flex;
  flex-direction: column;
  margin-bottom: .5rem;
  border: 1px solid #d4dbde
}

.table-widget>.content {
  overflow-x: auto;
  flex-grow: 1;
  height: 18.5em
}

.table-widget>.content table th {
  border-top: 0
}

.table-widget>.footer {
  height: 3.5rem;
  border-top: 1px solid #d4dbde;
  text-align: left
}

.table-widget>.footer a {
  padding: .2rem .45rem !important;
  height: calc(3.5rem - 1px) !important
}

.table-widget table {
  margin: 0;
  max-height: 18.5em
}

.table-widget table.options-table td,
.table-widget table.options-table th {
  text-align: center;
  vertical-align: middle
}

.table-widget table.options-table td:first-child,
.table-widget table.options-table th:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: left
}

.table-widget table.options-table tr:last-child td {
  border-bottom: 1px solid #d4dbde
}

.table-widget table.options-table tr.selected td {
  background-color: #ebf9ff;
  color: #2c363a;
  outline: 0
}

.table-widget table.options-table td:not(:first-child) span {
  display: inline-block;
  line-height: 1.25
}

.table-widget table.options-table td.enabled span:before {
  content: "\f00c"
}

.table-widget table.options-table td.partial span:before {
  opacity: .3;
  content: "\f00c"
}

table.compact-table {
  margin: 0;
  width: 100%
}

table.compact-table :not(.invalid-feedback) {
  font-size: inherit
}

table.compact-table td {
  padding: .25rem;
  border: 0
}

table.compact-table td:first-child {
  padding-left: 0
}

table.compact-table td:last-child {
  padding-right: 0
}

table.table .checkbox-cell {
  width: 3rem;
  white-space: nowrap;
  overflow: hidden;
  text-align: center;
  padding: .5rem
}

html.touch table.table .checkbox-cell {
  padding: .5rem .3rem
}

table.table th.checkbox-cell {
  padding: .75rem 0;
  max-width: 1rem
}

table.table th.checkbox-cell:before {
  cursor: pointer;
  margin: 0 1rem;
  line-height: 1
}

table.table th.checkbox-cell.subscription:before {
  content: "\f143"
}

table.table th.checkbox-cell.alarm:before {
  content: "\f0f3";
  font-weight: 400
}

table.table th.checkbox-cell.read:before {
  content: "\f06e"
}

table.table th.checkbox-cell.write:before {
  content: "\f303"
}

table.table .buttons-cell {
  width: 1%;
  white-space: nowrap;
  text-align: center
}

table.table .buttons-cell a.button:before {
  line-height: 1;
  float: none;
  display: inline-block
}

@media screen and (min-width:480px) {
  table.table .buttons-cell a.button .inner {
    display: inline
  }
}

table.table label {
  margin: 0;
  display: inline
}

fieldset.tab-pane table.table thead th {
  border: 0
}

table.table tr.deleted td {
  color: rgba(44, 54, 58, .5) !important
}

.table thead th {
  border-width: 1px;
  white-space: nowrap
}

.button.disabled {
  opacity: .5
}

a.button {
  text-decoration: none !important
}

a.button.icon.sidebar-menu:before,
a.button.icon.toolbar-list-button:before,
a.button.icon.toolbar-menu-button:before,
button.btn.sidebar-menu:before,
button.btn.toolbar-list-button:before,
button.btn.toolbar-menu-button:before {
  content: "\f142";
  width: 1em
}

a.button.icon.task-menu-button:before,
button.btn.task-menu-button:before {
  content: "\f0c9"
}

a.button.icon.back-content-button:before,
a.button.icon.back-list-button:before,
a.button.icon.back-sidebar-button:before,
button.btn.back-content-button:before,
button.btn.back-list-button:before,
button.btn.back-sidebar-button:before {
  content: "\f053"
}

a.button.icon.refresh:before,
button.btn.refresh:before {
  content: "\f021"
}

a.button.icon.continue:before,
a.button.icon.generate:before,
a.button.icon.save:before,
a.button.icon.submit:before,
a.button.icon.yes:before,
button.btn.continue:before,
button.btn.generate:before,
button.btn.save:before,
button.btn.submit:before,
button.btn.yes:before {
  content: "\f00c"
}

a.button.icon.create:before,
button.btn.create:before {
  content: "\f0fe"
}

a.button.icon.edit:before,
button.btn.edit:before {
  content: "\f303"
}

a.button.icon.qrcode:before,
button.btn.qrcode:before {
  content: "\f029"
}

a.button.icon.search:before,
button.btn.search:before {
  content: "\f002"
}

a.button.icon.filter:before,
button.btn.filter:before {
  content: "\f0b0";
  font-size: 1.2em
}

a.button.icon.import:before,
button.btn.import:before {
  content: "\f093"
}

a.button.icon.export:before,
button.btn.export:before {
  content: "\f019"
}

a.button.icon.delete:before,
a.button.icon.discard:before,
button.btn.delete:before,
button.btn.discard:before {
  content: "\f2ed";
  font-weight: 400
}

a.button.icon.next:before,
button.btn.next:before {
  content: "\f061"
}

a.button.icon.restore:before,
button.btn.restore:before {
  content: "\f0e2"
}

a.button.icon.bounce:before,
a.button.icon.send:before,
button.btn.bounce:before,
button.btn.send:before {
  content: "\f1d8"
}

a.button.icon.attach:before,
button.btn.attach:before {
  content: "\f0c6"
}

a.button.icon.attach.vcard:before,
button.btn.attach.vcard:before {
  content: "\f007"
}

a.button.icon.cancel:before,
a.button.icon.close:before,
a.button.icon.no:before,
button.btn.cancel:before,
button.btn.close:before,
button.btn.no:before {
  content: "\f00d"
}

a.button.icon.back:before,
button.btn.back:before {
  content: "\f053"
}

a.button.icon.remove:before,
button.btn.remove:before {
  content: "\f00d"
}

a.button.icon.unlock:before,
button.btn.unlock:before {
  content: "\f09c"
}

a.button.icon.help:before,
button.btn.help:before {
  content: "\f1cd";
  font-weight: 400
}

a.button.icon.folders:before,
button.btn.folders:before {
  content: "\f07c"
}

a.button.icon.options:before,
button.btn.options:before {
  content: "\f1de"
}

a.button.icon.settings:before,
a.button.icon.tools:before,
button.btn.settings:before,
button.btn.tools:before {
  content: "\f013"
}

a.button.icon.properties:before,
button.btn.properties:before {
  content: "\f05a"
}

a.button.icon.selection:before,
button.btn.selection:before {
  content: "\f14a";
  font-weight: 400
}

a.button.icon.insert.recipient:before,
button.btn.insert.recipient:before {
  content: "\f234"
}

a.button.icon.encrypt:before,
button.btn.encrypt:before {
  content: "\f023"
}

a.button.icon.sign:before,
button.btn.sign:before {
  content: "\f5b7"
}

a.button.icon.sso:before,
button.btn.sso:before {
  content: "\f2f6"
}

a.button.icon.extwin:before,
button.btn.extwin:before {
  content: "\f360"
}

a.btn:before,
button.btn:before {
  display: inline !important;
  float: none !important;
  vertical-align: middle;
  margin-right: .4rem !important
}

a.btn.oauth.google:before,
a.btn.oauth.outlook:before,
button.btn.oauth.google:before,
button.btn.oauth.outlook:before {
  content: " ";
  display: inline-block !important;
  height: 1.5rem;
  width: 1.5rem;
  margin-right: .8rem !important;
  background-size: 100% auto
}

a.btn.oauth.google:before,
button.btn.oauth.google:before {
  background: url('../images/google-icon.svg') top left no-repeat
}

a.btn.oauth.outlook:before,
button.btn.oauth.outlook:before {
  background: url('../images/microsoft-icon.svg') top left no-repeat
}

a.button.icon.dropdown:before {
  content: "\f0d7";
  font-size: 1em
}

a.button.icon>span.inner {
  display: none
}

html.touch .btn:focus {
  box-shadow: none !important
}

.floating-action-buttons {
  position: absolute;
  right: 0;
  bottom: 0
}

.footer:not(:empty)+.floating-action-buttons {
  bottom: 35px
}

.floating-action-buttons a.button {
  display: block;
  float: left;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: #37beff;
  color: #fff;
  opacity: .95;
  box-shadow: 0 0 5px 5px #eaf8ff;
  margin: 0 1rem 1rem 0
}

.floating-action-buttons a.button:before {
  content: "\f067";
  width: 4rem;
  height: 4rem;
  line-height: 4rem
}

.floating-action-buttons a.button.compose:before {
  content: "\f304"
}

.floating-action-buttons a.button .inner {
  display: none
}

.btn:focus {
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .3)
}

.btn-link {
  color: #00acff
}

.btn-secondary {
  color: #fff;
  background: #8b9fa7;
  border-color: #8b9fa7
}

.btn-secondary:focus {
  background: #7c939c;
  border-color: #778e98;
  box-shadow: 0 0 0 .2rem rgba(139, 159, 167, .5)
}

.btn-secondary:hover {
  background: #7c939c;
  border-color: #778e98
}

.btn-secondary.disabled,
.btn-secondary:disabled {
  background: #8b9fa7;
  border-color: #8b9fa7
}

.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active {
  background: #6e8791;
  border-color: #6a828b
}

.btn-secondary:not(:disabled):not(.disabled).active:focus,
.btn-secondary:not(:disabled):not(.disabled):active:focus {
  box-shadow: 0 0 0 .2rem rgba(139, 159, 167, .53)
}

.btn-primary {
  color: #fff;
  background: #37beff;
  border-color: #37beff
}

.btn-primary:focus {
  background: #1eb6ff;
  border-color: #13b2ff;
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .5)
}

.btn-primary:hover {
  background: #1eb6ff;
  border-color: #13b2ff
}

.btn-primary.disabled,
.btn-primary:disabled {
  background: #37beff;
  border-color: #37beff
}

.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active {
  background: #04adff;
  border-color: #00a8f9
}

.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus {
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .53)
}

.btn-danger {
  color: #fff;
  background: #ff5552;
  border-color: #ff5552
}

.btn-danger:focus {
  background: #ff3c38;
  border-color: #ff322e;
  box-shadow: 0 0 0 .2rem rgba(255, 85, 82, .5)
}

.btn-danger:hover {
  background: #ff3c38;
  border-color: #ff322e
}

.btn-danger.disabled,
.btn-danger:disabled {
  background: #ff5552;
  border-color: #ff5552
}

.btn-danger:not(:disabled):not(.disabled).active,
.btn-danger:not(:disabled):not(.disabled):active {
  background: #ff231f;
  border-color: #ff1915
}

.btn-danger:not(:disabled):not(.disabled).active:focus,
.btn-danger:not(:disabled):not(.disabled):active:focus {
  box-shadow: 0 0 0 .2rem rgba(255, 85, 82, .53)
}

.ui-widget-overlay {
  background-color: rgba(44, 54, 58, .5);
  opacity: 1 !important
}

.ui-widget-overlay.datepicker {
  z-index: 119
}

.ui-widget {
  border: 1px solid #d4dbde;
  box-shadow: 3px 3px 5px #f1f3f4;
  border-radius: .3rem
}

.ui-menu {
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 400px;
  border-radius: .3rem;
  z-index: 240;
  position: absolute
}

.ui-menu .ui-state-active {
  border: 0 !important;
  background-color: #37beff !important
}

.ui-menu .ui-menu-item {
  white-space: nowrap;
  cursor: default
}

.ui-menu .ui-menu-item-wrapper {
  margin: 0 !important
}

.ui-dialog {
  border-radius: 0;
  box-shadow: none
}

.ui-dialog.no-titlebar .ui-dialog-titlebar {
  display: none
}

.ui-dialog .ui-dialog-titlebar {
  height: 58px;
  border-bottom: 1px solid #ddd
}

.ui-dialog .ui-dialog-titlebar button:before {
  margin: 0
}

.ui-dialog .ui-dialog-title {
  line-height: 58px;
  font-size: 1.25rem;
  padding: 0 3rem 0 1rem;
  color: #2c363a
}

.ui-dialog .ui-dialog-titlebar-close {
  border: 0;
  color: #2c363a;
  background: 0 0;
  right: 0;
  top: 0;
  position: absolute;
  padding: .25rem .5rem;
  margin: 15px .5rem
}

.ui-dialog .ui-dialog-titlebar-close:before {
  content: "\f00d";
  line-height: 1.5rem;
  margin: 0 !important
}

.ui-dialog .ui-dialog-content>.popupmenu {
  display: block !important
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
  display: flex;
  justify-content: flex-end
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link,
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button {
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 5rem;
  margin: 9px 4px
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link:last-child,
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button:last-child {
  margin-right: 0
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link {
  padding-right: 0;
  padding-left: 0;
  text-decoration: none;
  color: #2c363a
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link:focus {
  background-color: rgba(55, 190, 255, .5)
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link.options {
  order: -1;
  padding: .375rem .25rem;
  margin-right: .3rem
}

.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link.options:before {
  content: "\f013";
  width: 100%;
  height: 1.25em
}

.ui-dialog .ui-dialog-content.iframe,
.ui-dialog iframe {
  padding: 0;
  width: 100% !important;
  height: 100%;
  border: 0;
  overflow: hidden
}

.ui-dialog,
.ui-dialog-content {
  box-sizing: initial
}

.ui-widget-content .ui-icon.ui-resizable-se {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2016%2016%22%3E%0A%20%20%3Cpath%20fill%3D%22%23888%22%20d%3D%22M6.7%2016L16%206.7V5.3L5.3%2016zM9.7%2016L16%209.7V8.3L8.3%2016zM12.7%2016l3.3-3.3v-1.4L11.3%2016zM15.7%2016l.3-.3v-1.4L14.3%2016z%22%2F%3E%0A%3C%2Fsvg%3E%0A")
}

@media screen and (max-width:768px) {
  /* Backdrop overlay */
  .ui-widget-overlay {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.55) !important;
    opacity: 1 !important;
    z-index: 10004 !important;
  }

  /* Centered floating card for all dialogs & confirms on mobile */
  .ui-dialog {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: min(340px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    height: auto !important;
    max-height: 85vh !important;
    min-height: 0 !important;
    border-radius: 20px !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35) !important;
    background: #ffffff !important;
    color: #1f1f1f !important;
    border: none !important;
    z-index: 10005 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  html.dark-mode .ui-dialog,
  body.dark-mode .ui-dialog {
    background: #2d2e30 !important;
    color: #e8eaed !important;
    border: 1px solid #3c4043 !important;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.6) !important;
  }

  .ui-dialog .ui-dialog-titlebar-close,
  .ui-dialog .ui-resizable-handle {
    display: none !important;
  }

  .ui-dialog .ui-dialog-titlebar {
    background: transparent !important;
    border: none !important;
    padding: 20px 24px 8px 24px !important;
    height: auto !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .ui-dialog .ui-dialog-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    color: inherit !important;
    line-height: 1.3 !important;
    padding: 0 !important;
    float: none !important;
  }

  .ui-dialog .ui-dialog-content {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(85vh - 130px) !important;
    overflow-y: auto !important;
    padding: 8px 24px 16px 24px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #444746 !important;
    background: transparent !important;
  }

  html.dark-mode .ui-dialog .ui-dialog-content {
    color: #c4c7c5 !important;
  }

  .ui-dialog .ui-dialog-buttonpane {
    background: transparent !important;
    border-top: none !important;
    padding: 8px 20px 20px 20px !important;
    margin: 0 !important;
    height: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    flex-shrink: 0 !important;
  }

  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
    display: flex !important;
    flex-direction: row-reverse !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: 100% !important;
    float: none !important;
  }

  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button,
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link {
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 16px !important;
    border-radius: 20px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    text-decoration: none !important;
    transition: background 0.15s ease !important;
  }

  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button:before {
    display: none !important;
  }

  /* Delete / Danger / Primary button */
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.mainaction,
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-danger,
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.delete {
    background: #d93025 !important;
    color: #ffffff !important;
    border: none !important;
  }

  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.mainaction:hover,
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-danger:hover {
    background: #b3261e !important;
  }

  /* Cancel / Secondary button */
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.cancel,
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-secondary {
    background: transparent !important;
    color: #1a73e8 !important;
    border: 1px solid #dadce0 !important;
  }

  html.dark-mode .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.cancel,
  html.dark-mode .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-secondary {
    color: #8ab4f8 !important;
    border-color: #5f6368 !important;
  }

  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.cancel:hover,
  .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-secondary:hover {
    background: rgba(26, 115, 232, 0.08) !important;
  }
}

.ui-slider {
  box-shadow: none
}

.ui-slider .ui-slider-range {
  border-radius: .3rem;
  background: #d0f0ff
}

.ui-slider .ui-slider-handle {
  border-radius: .3rem
}

.ui-slider .ui-slider-handle.ui-state-active {
  background: #37beff;
  border-color: #005984
}

.ui-datepicker {
  margin: calc(50vh - 10em) calc(50vw - 10em) !important;
  top: 0 !important;
  left: 0 !important;
  box-shadow: none;
  user-select: none
}

.ui-datepicker:not(.ui-datepicker-inline) {
  z-index: 120 !important
}

.ui-datepicker .ui-datepicker-header,
.ui-datepicker .ui-datepicker-title {
  line-height: 4rem;
  height: 4rem;
  padding: 0
}

.ui-datepicker .ui-datepicker-header {
  border-bottom: 1px solid #ddd
}

.ui-datepicker .ui-datepicker-header a {
  height: 4rem
}

.ui-datepicker .ui-datepicker-header select {
  display: inline-block
}

.ui-datepicker .ui-icon {
  background-image: none !important;
  background-position: none !important
}

.ui-datepicker .ui-datepicker-next,
.ui-datepicker .ui-datepicker-prev {
  cursor: pointer;
  width: auto;
  color: #2c363a;
  text-decoration: none
}

.ui-datepicker .ui-datepicker-next:before,
.ui-datepicker .ui-datepicker-prev:before {
  content: "\f053";
  margin: 0 .25em;
  height: auto;
  width: 1em
}

.ui-datepicker .ui-datepicker-prev:before {
  content: "\f053"
}

.ui-datepicker .ui-datepicker-next:before {
  content: "\f054"
}

.ui-datepicker td a {
  padding: 0;
  line-height: 1.8em;
  border-radius: .3rem
}

.ui-datepicker .ui-state-default,
.ui-datepicker.ui-widget-content .ui-state-default {
  border: 0;
  background: 0 0;
  color: #2c363a
}

.ui-datepicker .ui-datepicker-days-cell-over a,
.ui-datepicker .ui-datepicker-days-cell-over a.ui-state-default,
.ui-datepicker .ui-state-highlight,
.ui-datepicker.ui-widget-content .ui-state-highlight {
  background: #d0f0ff;
  color: #37beff
}

.ui-datepicker a.ui-state-active {
  background: #37beff !important;
  color: #fff !important;
  font-weight: 700
}

.ui-datepicker html.touch td a {
  font-size: 1.2em;
  line-height: 2.2em
}

.input-group>.form-control.hasDatepicker {
  position: initial
}

.minicolors-panel {
  border: 1px solid #d4dbde;
  box-shadow: 3px 3px 5px #f1f3f4;
  border-radius: .3rem;
  height: 152px;
  padding: 1px
}

.input-group .minicolors-input {
  width: 100%;
  min-width: 130px;
  border-left: 0;
  border-right: 0
}

@media screen and (max-width:320px) {
  .ui-widget-content {
    border-radius: 0
  }

  .ui-menu {
    border-radius: .3rem;
    left: 15px !important;
    right: 15px;
    width: auto
  }

  .ui-dialog .ui-dialog-content:not(.iframe) {
    padding: .65rem
  }
}

.popupmenu {
  display: none;
  padding: 0;
  min-width: 180px;
  height: 100%
}

.popupmenu li>a {
  width: 100%
}

.popupmenu.propform {
  overflow: hidden;
  padding: .25rem
}

.popupmenu.simplelist {
  min-width: 80px
}

.popup.justified {
  display: flex;
  justify-content: space-around
}

.popover-body {
  padding: 0;
  overflow-x: hidden
}

.popover-body>.popupmenu {
  display: block !important
}

.popover {
  box-shadow: 3px 3px 5px #f1f3f4;
  border-color: #d4dbde;
  padding: 0;
  z-index: 1300
}

.popover .popover-header {
  display: none
}

@media screen and (min-width:769px) {
  .popover .listing li:first-child {
    border-radius: .25rem .25rem 0 0
  }

  .popover .listing li:last-child {
    border-bottom-right-radius: .25rem;
    border-bottom-left-radius: .25rem
  }

  .popover .listing ul.rounded-0>li {
    border-radius: 0
  }
}

html.layout-phone .popover:not(.select-menu),
html.layout-small .popover:not(.select-menu) {
  margin: 0 !important;
  padding: 0;
  right: 0;
  left: initial !important;
  bottom: 0;
  top: 0;
  width: 272px;
  transform: none !important;
  border-radius: 0;
  border: 0;
  display: flex;
  flex-direction: column;
  box-shadow: none
}

html.layout-phone .popover:not(.select-menu) div.arrow,
html.layout-small .popover:not(.select-menu) div.arrow {
  display: none
}

html.layout-phone .popover:not(.select-menu) .listing li:last-child,
html.layout-small .popover:not(.select-menu) .listing li:last-child {
  border-bottom: 1px solid #f1f3f4
}

html.layout-phone .popover-overlay,
html.layout-small .popover-overlay {
  z-index: 1299;
  background-color: rgba(44, 54, 58, .5);
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%
}

html.layout-phone .popover-header,
html.layout-small .popover-header {
  display: block;
  border-radius: 0;
  border: 0;
  padding: 0 .5em;
  height: 58px;
  min-height: 58px;
  line-height: 58px;
  font-size: 16px;
  color: #fff;
  background-color: #005984
}

html.layout-phone .popover-header:before,
html.layout-small .popover-header:before {
  display: none
}

html.layout-phone .popover-header a,
html.layout-small .popover-header a {
  display: inline-block;
  width: 100%;
  color: #fff
}

html.layout-phone .popover-body>*,
html.layout-small .popover-body>* {
  max-height: 100% !important
}

html.touch .popover .listing li a {
  line-height: 47px;
  font-size: 16px;
  padding: 0 .5em
}

html.touch .popover .listing li a:before {
  float: left
}

.select-menu {
  max-width: initial;
  margin: 0;
  height: auto;
  z-index: 1301
}

.select-menu .popover-header {
  border-radius: .25rem .25rem 0 0 !important
}

.select-menu .listing li a {
  padding-left: .25rem;
  outline: 0
}

.select-menu .listing li:last-child {
  border-bottom-right-radius: .25rem;
  border-bottom-left-radius: .25rem
}

.select-menu.inline .listing li {
  padding-right: .5rem
}

.select-menu.inline .listing li:first-child {
  border-top-left-radius: .25rem;
  border-top-right-radius: .25rem
}

.pgpkeyimport div.key {
  position: relative;
  padding: .5rem 0
}

.pgpkeyimport div.key.disabled,
.pgpkeyimport div.key.revoked {
  color: #737677
}

.pgpkeyimport div.key label {
  display: inline-block;
  margin-right: .5em;
  margin-bottom: 0
}

.pgpkeyimport div.key label:after {
  content: ":"
}

.pgpkeyimport div.key label.keyid {
  display: none
}

.pgpkeyimport div.key label+a,
.pgpkeyimport div.key label+span {
  line-height: 2.6rem;
  margin-right: 1em;
  white-space: nowrap;
  text-decoration: none
}

.pgpkeyimport div.key label.keyid+a {
  font-weight: 700
}

.pgpkeyimport div.key label.keyid+a:before {
  content: "\f084"
}

.pgpkeyimport ul.uids {
  margin: 0;
  padding: 0
}

.pgpkeyimport li.uid {
  border: 0;
  padding: .25rem 0 0 1.5em;
  line-height: 1.5rem !important;
  list-style-type: none
}

.pgpkeyimport li.uid:before {
  content: "\f007";
  opacity: .25;
  font-size: 1em;
  line-height: 1.25
}

.pgpkeyimport button.importkey {
  position: absolute;
  top: .5rem;
  right: 0
}

.pgpkeyimport button:disabled {
  display: none
}

.menu {
  margin: 0;
  text-align: center;
  white-space: nowrap
}

.menu a {
  overflow: hidden;
  text-overflow: ellipsis;
  text-decoration: none
}

.menu a:before {
  content: "\00a0"
}

.menu a:focus,
.menu a:hover {
  outline: 0
}

.menu a:not(.disabled):focus,
.menu a:not(.disabled):hover {
  background-color: #ececec
}

.menu.toolbar li {
  display: inline-block;
  height: 58px
}

.menu.toolbar a {
  color: #2c363a;
  display: block;
  float: left;
  border: 0 !important;
  height: 58px;
  min-width: 3.2rem;
  max-width: 6rem;
  width: auto;
  padding: .45rem;
  line-height: 1.5;
  cursor: pointer;
  font-size: 1rem;
  text-align: center
}

.menu.toolbar a:before {
  height: 1.75rem !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important
}

.menu.toolbar a.selected {
  color: #41b849
}

.menu.toolbar>.spacer {
  width: 1em
}

.menu.toolbar .dropbutton:not(.disabled):hover {
  background-color: #ececec
}

.menu.toolbar .dropbutton a.dropdown {
  padding: 0 .3rem
}

.menu.toolbar .dropbutton a.dropdown:before {
  line-height: 58px
}

.menu.toolbar .dropbutton a.dropdown:hover {
  background-color: #e0e0e0
}

.menu span.inner {
  font-size: 90%;
  font-weight: 400
}

.menu .dropbutton {
  display: inline-block
}

.menu .dropbutton a.dropdown {
  font-size: 75%;
  min-width: 0
}

html.ie11 .menu .dropbutton a.dropdown:before {
  font-size: 80%
}

.menu .dropbutton a.dropdown span.inner {
  display: none
}

.menu .dropbutton a:first-child {
  padding-right: 0
}

.menu.pagenav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 !important;
  font-size: 100%
}

.menu.pagenav a {
  flex-grow: 1;
  display: inline-block;
  min-width: 2rem !important;
  height: 35px;
  color: #2c363a
}

.menu.pagenav a:before {
  margin: 0;
  display: inline;
  float: none;
  line-height: 35px
}

.menu.pagenav .pagenav-text {
  overflow: hidden;
  text-overflow: ellipsis;
  color: #737677;
  flex-grow: 4;
  font-size: 80%
}

.menu.pagenav input {
  width: 3rem;
  max-width: 5rem;
  font-size: 90%;
  text-align: center;
  max-height: 1.6rem;
  margin: 0 .2rem
}

html.layout-phone .menu.pagenav input {
  display: none
}

.menu.pagenav span.inner {
  display: none
}

.menu.pagenav.pagenav-list {
  cursor: pointer;
  background-color: #fbfbfb;
  border-bottom: 1px solid #f1f3f4
}

.menu.pagenav.pagenav-list a {
  flex-grow: unset
}

.menu.pagenav.pagenav-list .pagenav-text {
  text-align: left;
  font-size: 100%
}

.menu.pagenav.pagenav-list+.navlist {
  background-color: #fbfbfb
}

.menu.pagenav.pagenav-list.expanded+.navlist {
  border-bottom: 1px solid #d4dbde
}

.menu.content-frame-navigation.hide-nav-buttons a.next,
.menu.content-frame-navigation.hide-nav-buttons a.prev {
  display: none
}

.menu .listselectors {
  max-width: 100%;
  display: flex;
  justify-content: space-around
}

.menu .buttons {
  display: block
}

.menu .buttons button {
  display: block;
  float: left;
  cursor: pointer;
  color: #2c363a;
  background-color: transparent;
  border: 0;
  padding: 0;
  height: 58px;
  line-height: 58px;
  width: 2.5em
}

.menu .buttons button:before {
  font-size: 1.75rem
}

.popover .menu li {
  display: block;
  height: auto;
  text-align: left
}

.popover .menu li.spacer {
  display: none
}

.popover .menu li:last-child {
  border: 0
}

.popover .menu li.separator {
  line-height: 1.5rem !important;
  font-size: .75rem !important;
  padding: 0 .5rem;
  color: #737677;
  background-color: #f1f3f4
}

.popover .menu li.separator label {
  margin: 0
}

.popover .menu li a {
  height: unset;
  max-width: 100%;
  width: 100%;
  line-height: 35px;
  display: block;
  padding: 0 .5rem;
  text-align: left
}

.popover .menu li a:before {
  line-height: inherit;
  height: inherit !important;
  margin-right: .5rem !important;
  float: left !important;
  width: 1.18em !important;
  min-width: 1.18em
}

.popover .menu li a:not(.disabled):hover {
  color: #fff;
  background-color: #37beff
}

.popover .menu li a[aria-haspopup] {
  display: flex
}

.popover .menu li a[aria-haspopup]:after {
  color: #737677;
  font-size: .9em;
  margin: 0 0 0 .2em;
  min-width: 1.18em;
  content: "\f054"
}

html.layout-small .popover .menu li a[aria-haspopup]:after {
  margin: 0 .2em
}

.popover .menu li a[aria-haspopup].dropdown:after {
  color: #2c363a;
  margin: 0 .6em !important
}

.popover .menu li a[aria-haspopup]:hover:after {
  color: #fff
}

.popover .menu li a[aria-haspopup]>span {
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1
}

.popover .menu li span.inner {
  font-size: 100%
}

.popover .menu .dropbutton {
  display: flex
}

.popover .menu .dropbutton a:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1
}

.popover .menu .dropbutton:not(.disabled):hover {
  background-color: #f6f6f6
}

.popover .menu .dropbutton a.dropdown {
  width: 3.5rem;
  padding: 0 .5em;
  background-color: #f6f6f6
}

.popover .menu .dropbutton a.dropdown:hover {
  background-color: #37beff
}

.popover .menu .dropbutton a.dropdown span.inner,
.popover .menu .dropbutton a.dropdown:before {
  display: none
}

.popover .menu.no-icon a:before {
  display: none
}

@media screen and (min-width:769px) {
  .content-frame-navigation {
    display: none !important
  }

  .header a.button.icon:not(.disabled):focus,
  .header a.button.icon:not(.disabled):hover {
    background-color: #ececec;
    outline: 0
  }

  .header a.button.icon:before {
    margin: 0
  }
}

@media screen and (max-width:768px) {
  .menu.footer {
    justify-content: space-around !important
  }

  .menu.footer>* {
    flex-grow: 1
  }

  .menu.footer .buttons {
    display: flex;
    justify-content: space-evenly
  }

  .menu.footer .listselectors>* {
    flex-grow: 1
  }

  .menu.listing a {
    color: #2c363a
  }
}

a.toolbar-button {
  cursor: pointer
}

@media screen and (min-width:1201px) {
  a.toolbar-button {
    line-height: 1.5;
    padding: .45rem
  }

  a.toolbar-button:before {
    float: none !important;
    height: 1.75rem !important;
    line-height: 1.5;
    width: auto !important
  }

  a.toolbar-button span.inner {
    display: inline !important;
    font-weight: 400;
    font-size: 90%
  }
}

.menu a.mail:before {
  content: "\f0e0"
}

.menu a.contacts:before {
  content: "\f0c0"
}

.menu a.options:before {
  content: "\f1de"
}

.menu a.settings:before {
  content: "\f013"
}

.menu a.theme.light:before {
  content: "\f185"
}

.menu a.theme.dark:before {
  content: "\f186"
}

.menu a.help:before {
  content: "\f1cd"
}

.menu a.logout:before {
  content: "\f011"
}

.menu a.about:before {
  content: "\f128"
}

.menu a.refresh:before {
  content: "\f021"
}

.menu a.compose:before {
  content: "\f044"
}

.menu a.calendar:before {
  content: "\f073"
}

.menu a.tasklist:before {
  content: "\f0ae"
}

.menu a.files:before {
  content: "\f07b"
}

.menu a.notes:before {
  content: "\f249"
}

.menu a.chat:before {
  content: "\f086"
}

.menu a.actions:before {
  content: "\f013"
}

.menu a.addressbook:before {
  content: "\f007"
}

.menu a.archive:before {
  content: "\f187"
}

.menu a.assigngroup:before {
  content: "\f234"
}

.menu a.attach:before,
.menu a.vcard:before {
  content: "\f0c6"
}

.menu a.next:before {
  content: "\f061"
}

.menu a.back:before,
.menu a.prev:before {
  content: "\f060"
}

.menu a.check:before {
  content: "\00a0"
}

.menu a.check.selected:before {
  content: "\f00c"
}

.menu a.closewin:before {
  content: "\f410"
}

.menu a.collapse:before {
  content: "\f107"
}

.menu a.copy:before {
  content: "\f0c5"
}

.menu a.create:before {
  content: "\f0fe"
}

.menu a.delete:before {
  content: "\f2ed"
}

.menu a.download.eml:before,
.menu a.download.maildir:before,
.menu a.download.mbox:before,
.menu a.download:before {
  content: "\f019"
}

.menu a.dropdown:before {
  content: "\f0d7"
}

.menu a.edit:before {
  content: "\f303"
}

.menu a.encrypt:before,
.menu a.enigma:before {
  content: "\f023"
}

.menu a.encrypt.sign:before {
  content: "\f023"
}

.menu a.expand:before {
  content: "\f105"
}

.menu a.expand.all:before {
  content: "\f103"
}

.menu a.expand.none:before {
  content: "\f102"
}

.menu a.export.all:before,
.menu a.export.selection:before,
.menu a.export:before {
  content: "\f019"
}

.menu a.expunge:before {
  content: "\f78c"
}

.menu a.extwin:before {
  content: "\f360"
}

.menu a.filterlink:before {
  content: "\f0b0"
}

.menu a.firstpage:before {
  content: "\f100"
}

.menu a.nextpage:before {
  content: "\f105"
}

.menu a.prevpage:before {
  content: "\f104"
}

.menu a.lastpage:before {
  content: "\f101"
}

.menu a.flag:before,
.menu a.select.flagged:before {
  content: "\f024";
  font-weight: 900
}

.menu a.unflag:before {
  content: "\f024";
  font-weight: 400
}

.menu a.undo:before {
  content: "\f01e"
}

.menu a.folders:before {
  content: "\f07b"
}

.menu a.forward.attachment:before,
.menu a.forward.bounce:before,
.menu a.forward.inline:before,
.menu a.forward:before {
  content: "\f064"
}

.menu a.import:before,
.menu a.upload:before {
  content: "\f093"
}

.menu a.insertresponse:before {
  content: "\f075"
}

.menu a.junk:before {
  content: "\f7e4"
}

.menu a.notjunk:before {
  content: "\f01c"
}

.menu a.markmessage:before {
  content: "\f02b"
}

.menu a.more:before {
  content: "\f141"
}

.menu a.move:before {
  content: "\f07c"
}

.menu a.print:before {
  content: "\f02f"
}

.menu a.properties:before {
  content: "\f15b"
}

.menu a.purge:before {
  content: "\f12d"
}

.menu a.qrcode:before {
  content: "\f029"
}

.menu a.read:before {
  content: "\f2b6";
  font-weight: 400
}

.menu a.expand.unread:before,
.menu a.select.unread:before,
.menu a.unread:before {
  content: "\f0e0";
  font-weight: 900
}

.menu a.recipient:before {
  content: "\f0e0";
  font-weight: 400
}

.menu a.refresh:before {
  content: "\f021"
}

.menu a.remove:before {
  content: "\f12d"
}

.menu a.removegroup:before {
  content: "\f235"
}

.menu a.rename:before {
  content: "\f303"
}

.menu a.reply:before {
  content: "\f3e5"
}

.menu a.reply-all:before,
.menu a.reply.all:before,
.menu a.reply.list:before {
  content: "\f122"
}

.menu a.responses:before {
  content: "\f075"
}

.menu a.rotate:before {
  content: "\f2f9"
}

.menu a.save:before {
  content: "\f0c7";
  font-weight: 400
}

.menu a.search:before {
  content: "\f002"
}

.menu a.search.delete:before {
  content: "\f2ed"
}

.menu a.select:before {
  content: "\f245"
}

.menu a.select.all:before {
  content: "\f069"
}

.menu a.select.invert:before {
  content: "\f14a"
}

.menu a.select.none:before {
  content: "\f00d";
  font-weight: 900
}

.menu a.select.page:before {
  content: "\f0c9";
  font-weight: 900
}

.menu a.selection:before {
  content: "\f14a" !important;
  font-weight: 400 !important
}

.menu a.send:before {
  content: "\f1d8"
}

.menu a.showurl:before {
  content: "\f0c1"
}

.menu a.signature:before {
  content: "\f5b7"
}

.menu a.source:before {
  content: "\f1c9"
}

.menu a.spellcheck:before {
  content: "\f891"
}

.menu a.status:before {
  content: "\f0eb";
  font-weight: 400
}

.menu a.submit:before {
  content: "\f00c"
}

.menu a.info:before {
  content: "\f05a"
}

.menu a.threads:before {
  content: "\f086"
}

.menu a.zoomin:before {
  content: "\f00e"
}

.menu a.zoomout:before {
  content: "\f010"
}

.searchbar {
  height: 36px;
  min-height: 36px;
  line-height: 36px;
  background-color: #fbfbfb;
  border-bottom: 1px solid #f1f3f4;
  display: flex;
  align-items: center;
  overflow: hidden;
  position: relative
}

.searchbar form {
  flex: 1;
  display: flex
}

.searchbar form:before {
  content: "\f002";
  height: 36px;
  color: #737677;
  margin: 0 0 0 .75rem
}

.searchbar input {
  width: 100%;
  border: 0;
  background: 0 0;
  padding: .5rem;
  line-height: normal;
  outline: 0
}

.searchbar input::-ms-clear {
  display: none
}

.searchbar a {
  color: #2c363a
}

.searchbar a:before {
  width: 2rem;
  height: 36px;
  margin: 0
}

.searchbar a.options:before {
  content: "\f107"
}

.searchbar a.reset:before {
  content: "\f00d";
  font-size: 1rem
}

.searchbar a.unread:before {
  content: "\f0e0";
  font-weight: 900
}

.searchbar a.reset,
.searchbar a.search {
  display: none
}

.searchbar a.selected {
  color: #41b849
}

.searchbar span.inner {
  display: none
}

.searchbar.active a.reset {
  display: inline
}

.searchbar.open a.options:before {
  content: "\f106"
}

.searchoptions button.search {
  width: 100%
}

.searchoptions ul.proplist+div {
  margin-top: 1rem
}

.searchoptions .input-group:not(:last-child) {
  margin-bottom: .5rem
}

.searchoptions .input-group .input-group-prepend {
  width: 30%
}

.searchoptions .input-group label {
  width: 100%
}

.searchoptions .formbuttons {
  display: block !important
}

#taskmenu a {
  display: block;
  float: none
}

@media screen and (max-width:480px) {
  #taskmenu {
    z-index: 30001;
    overflow-x: hidden
  }

  #taskmenu a {
    max-width: unset;
    padding: 0 .5em;
    margin-top: 1px;
    text-align: left;
    line-height: 47px;
    height: 47px;
    border-bottom: 1px solid #f1f3f4 !important;
    color: #2c363a;
    font-size: 1.2rem
  }

  #taskmenu a:before {
    float: left !important;
    width: 1.2em !important;
    margin-right: .5rem !important
  }

  #taskmenu span.inner {
    font-size: 100%
  }
}

@media screen and (min-width:481px) {
  #taskmenu a {
    color: #fff;
    padding: .45rem 0;
    min-width: unset
  }

  #taskmenu a.selected {
    color: #fff;
    background: #45555c
  }

  #taskmenu a.selected:hover {
    color: #fff;
    background: #45555c
  }

  #taskmenu a:hover {
    color: #fff;
    background: #45555c
  }

  #taskmenu .special-buttons {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #2f3a3f
  }

  #taskmenu .action-buttons a {
    color: #37beff;
    background: 0 0
  }

  #taskmenu .action-buttons a:hover {
    color: #37beff;
    background: #45555c
  }

  #taskmenu a.logout {
    color: #ff5552 !important
  }

  #taskmenu a.logout:hover {
    color: #ff5552 !important
  }
}

@media screen and (min-width:481px) and (max-width:1024px) {
  #taskmenu a {
    width: 42px;
    height: 42px;
    font-size: 1.2rem;
    padding: 0
  }

  #taskmenu a:before {
    line-height: 42px
  }

  #taskmenu span.inner {
    display: none
  }
}

@media screen and (min-width:1025px) {
  #taskmenu a {
    width: 78px;
    font-size: 1rem
  }

  #taskmenu a:before {
    float: none
  }

  #taskmenu a:focus {
    background-color: #45555c
  }

  #taskmenu span.inner {
    padding: 0 .1em
  }
}

.ui.alert {
  margin: 0;
  margin-bottom: .2rem;
  opacity: .95;
  width: 100%;
  padding: .75em;
  color: #2c363a;
  border: 1px solid transparent;
  background-color: rgba(55, 190, 255, .05);
  display: flex;
  align-items: center
}

@media screen and (max-width:480px) {
  .ui.alert {
    border: 0
  }
}

.ui.alert span {
  margin: auto 0
}

.ui.alert>i.icon {
  line-height: 1;
  color: #4d5f66;
  margin: auto 0
}

.ui.alert>i.icon:before {
  content: "\f05a";
  margin-right: .6rem
}

.ui.alert .btn {
  margin-left: .5rem
}

.ui.alert.loading {
  color: #6b7275
}

.ui.alert.loading>i.icon:before {
  content: "\f1ce";
  -webkit-animation: spinner-border 1.5s infinite linear;
  animation: spinner-border 1.5s infinite linear;
  width: 1em
}

.ui.alert.alert-success>i.icon:before {
  content: "\f058";
  color: #41b849
}

.ui.alert.alert-warning>i.icon:before {
  content: "\f071";
  color: #ffd452
}

.ui.alert.alert-danger>i.icon:before {
  content: "\f06a";
  color: #ff5552
}

.ui.alert.vcardattachment>i.icon:before {
  content: "\f2bb"
}

.ui.alert.enigmaattachment>i.icon:before {
  content: "\f084"
}

.ui.alert.encrypted>i.icon:before,
.ui.alert.signed>i.icon:before {
  content: "\f023"
}

.ui.alert.chat>i.icon:before {
  content: "\f075"
}

.ui.alert .boxbuttons {
  white-space: nowrap
}

.ui.alert .boxbuttons .btn {
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 220px
}

@media screen and (max-width:480px) {
  .ui.alert .boxbuttons {
    display: flex;
    flex-direction: column
  }

  .ui.alert .boxbuttons .btn {
    max-width: 160px
  }

  .ui.alert .boxbuttons .btn:not(:first-child) {
    margin-top: .25rem
  }
}

.ui.alert.aligned-buttons {
  display: flex
}

.ui.alert.aligned-buttons span {
  flex: 1
}

.ui.alert a:not(.btn) {
  color: #37beff;
  font-weight: 400
}

.ui.alert h3 {
  font-weight: 700;
  font-size: 1.2rem
}

.ui.alert p {
  margin: 1rem 0
}

.ui.alert.boxconfirmation,
.ui.alert.boxerror,
.ui.alert.boxinformation,
.ui.alert.boxwarning {
  padding: .5em;
  border-radius: 0
}

.ui.alert.boxconfirmation i.icon,
.ui.alert.boxerror i.icon,
.ui.alert.boxinformation i.icon,
.ui.alert.boxwarning i.icon {
  font-size: 1.5em !important
}

.ui.alert.boxerror {
  background-color: rgba(255, 85, 82, .2)
}

.ui.alert.boxinformation {
  background-color: rgba(55, 190, 255, .2)
}

.ui.alert.boxconfirmation {
  background-color: rgba(65, 184, 73, .2)
}

.ui.alert.boxwarning {
  background-color: rgba(255, 212, 82, .2)
}

.ui.alert+table {
  margin-top: 1em
}

#messagestack {
  position: absolute;
  bottom: .5em;
  right: .7em;
  z-index: 105;
  width: 320px;
  height: auto;
  max-height: 85%
}

@media screen and (max-width:480px) {
  #messagestack {
    left: 0;
    right: 0;
    bottom: 0;
    width: auto
  }
}

#messagestack div {
  background-color: #2c363a;
  color: #fff
}

@media screen and (max-width:480px) {
  #messagestack div {
    margin: 0;
    border-radius: 0;
    min-height: 4.2rem
  }
}

#messagestack div.voice {
  position: absolute;
  top: -1000px
}

#messagestack div i.icon {
  font-size: 1.5em !important
}

#messagestack div>i.icon:before {
  color: #fff
}

#messagestack div:last-child {
  margin-bottom: 0
}

#messagestack .loading {
  background-color: #6b7275
}

#messagestack .alert-info.information {
  background-color: #37beff
}

#messagestack .alert-success {
  background-color: #41b849
}

#messagestack .alert-warning {
  background-color: #ffd452;
  color: #2c363a
}

#messagestack .alert-warning>i.icon:before {
  color: #2c363a
}

#messagestack .alert-danger {
  background-color: #ff5552
}

#messagestack a {
  color: inherit !important;
  text-decoration: underline;
  cursor: pointer
}

.listing li,
.listing tbody td {
  border-bottom: 1px solid #f1f3f4;
  cursor: default;
  font-weight: 400;
  line-height: 35px
}

.listing li a,
.listing tbody td {
  padding: 0 .5rem;
  white-space: nowrap;
  vertical-align: middle;
  color: #2c363a
}

.listing tbody td {
  overflow: hidden;
  text-overflow: ellipsis;
  outline: 0
}

.listing tbody td a {
  color: #2c363a
}

.listing li a {
  display: block;
  text-decoration: none;
  cursor: default;
  width: 100%
}

.listing li.selected,
.listing tr.selected td {
  color: #2c363a;
  background-color: #ebf9ff
}

.listing td.selection {
  padding: 0 0 0 .5em;
  width: 2em;
  text-align: center
}

.listing td.selection>input {
  vertical-align: middle
}

.listing:not(.withselection) td.selection {
  display: none
}

.listing td.name {
  overflow: hidden;
  text-overflow: ellipsis
}

.listing td.action {
  padding: 0 .5em;
  width: 2em;
  text-align: center
}

.listing td.action:empty {
  width: 0
}

.listing td.action a {
  display: block;
  overflow: hidden;
  text-decoration: none
}

.listing td.action a:before {
  margin: 0;
  font-size: 1rem
}

.listing td.action a.pushgroup:before {
  content: "\f054"
}

.listing li.droptarget>a,
.listing tr.droptarget>td {
  background-color: #ffc
}

.listing li.disabled,
.listing tr.disabled td {
  color: rgba(44, 54, 58, .5)
}

.listing li.virtual>a,
.listing li>a.virtual {
  opacity: .4
}

.listing span.secondary {
  color: #737677
}

html:not(.touch) .listing li>a,
html:not(.touch) .listing tbody tr>td:first-child,
html:not(.touch) .listing:not(.withselection) tbody tr>td.selection+td {
  border-left: 2px solid transparent
}

html:not(.touch) .listing li>a:focus,
html:not(.touch) .listing.focus tbody tr.focused>td:first-child,
html:not(.touch) .listing.focus:not(.withselection) tbody tr.focused>td.selection+td {
  border-left: 2px solid #9ddfff;
  outline: 0
}

table.listing {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: unset
}

ul.listing {
  margin: 0;
  padding: 0
}

ul.listing>ul {
  padding: 0
}

ul.listing li {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  position: relative;
  list-style: none
}

ul.listing li ul {
  border-top: 1px solid #f1f3f4;
  padding-left: 1.5em
}

ul.listing li ul li:last-child {
  border-bottom: none
}

ul.listing li .custom-switch {
  position: absolute;
  padding: 0;
  top: 0;
  right: 0;
  height: 35px;
  vertical-align: middle
}

ul.listing li .custom-switch .custom-control-label:after,
ul.listing li .custom-switch .custom-control-label:before {
  margin-top: .4rem
}

html.touch ul.listing li .custom-switch .custom-control-label:after,
html.touch ul.listing li .custom-switch .custom-control-label:before {
  margin-top: .75rem
}

html.touch ul.listing li .custom-switch {
  height: 47px
}

ul.listing.simplelist li {
  padding: 0 .5rem
}

.listing-info {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  text-align: center;
  font-weight: 700;
  color: #737677
}

.listing-hover-menu {
  position: absolute;
  right: 5px;
  top: -1000px;
  height: 2.4em;
  background-color: #fff;
  border: 1px solid #ddd;
  padding: .25em;
  box-shadow: 0 0 5px #d3d3d3;
  border-radius: .25em
}

.listing-hover-menu a.button {
  cursor: pointer;
  display: inline-block;
  width: 1.5em;
  line-height: 1;
  margin: .25em .25em;
  color: #2c363a
}

.listing-hover-menu a.button:hover {
  background: 0 0
}

.listing-hover-menu span.txt {
  font-size: 90%;
  color: #737677;
  display: inline-block;
  vertical-align: middle;
  margin: -1.25em .25em 0
}

html.touch .listing tbody td,
html.touch .listing:not(.toolbar) li {
  line-height: 47px;
  font-size: 1.2rem
}

html.touch li input[type=checkbox] {
  height: 47px
}

html.touch td.selection {
  padding: 0;
  width: 3em
}

@media screen and (max-width:1200px) {
  .listing.selection-large-only li.selected {
    color: #2c363a;
    background-color: transparent
  }
}

.listing.iconized li a:before {
  height: 2em;
  margin-right: .5rem
}

.listing.iconized li.preferences>a:before {
  content: "\f1de"
}

.listing.iconized li.folders>a:before {
  content: "\f07b"
}

.listing.iconized li.responses>a:before {
  content: "\f075"
}

.listing.iconized li.identities>a:before {
  content: "\f2c2"
}

.listing.iconized li.password>a:before {
  content: "\f023"
}

.listing.iconized li.addressbook a:before {
  content: "\f2b9";
  font-weight: 400
}

.listing.iconized li.contactgroup a:before {
  content: "\f0c0";
  font-weight: 900
}

.listing.iconized li.contactsearch a:before {
  content: "\f002"
}

.listing.iconized li.filter>a:before {
  content: "\f0b0"
}

.listing.iconized li.vacation>a:before {
  content: "\f017";
  font-weight: 400
}

.listing.iconized li.forward>a:before {
  content: "\f14d"
}

.listing.iconized li.enigma.keys>a:before {
  content: "\f084"
}

.listing.iconized li.info>a:before,
.listing.iconized li.userinfo>a:before {
  content: "\f05a"
}

.listing.iconized li.twofactorauth>a:before {
  content: "\f2f6"
}

.listing.iconized li a.help:before {
  content: "\f1cd"
}

.listing.iconized li a.about:before {
  content: "\f059";
  font-weight: 400
}

.listing.iconized li a.license:before {
  content: "\f3ed"
}

.listing.iconized li>i:before {
  content: "\f007";
  margin-left: .5rem;
  line-height: normal
}

.listing.iconized li.group>i:before {
  content: "\f0c0"
}

#rcmKSearchpane {
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18) !important;
  max-height: 280px !important;
  overflow-y: auto !important;
  min-width: 320px !important;
  padding: 4px 0 !important;
  font-family: 'Roboto', 'Google Sans', Helvetica, Arial, sans-serif !important;
  z-index: 999999 !important;
}

#rcmKSearchpane > ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#rcmKSearchpane > ul > li {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  padding: 8px 12px !important;
  cursor: pointer !important;
  border-bottom: 1px solid #f1f3f4 !important;
  transition: background-color 0.1s ease !important;
  gap: 10px !important;
}

#rcmKSearchpane > ul > li:last-child {
  border-bottom: none !important;
}

#rcmKSearchpane > ul > li:hover,
#rcmKSearchpane > ul > li.selected,
#rcmKSearchpane > ul > li.active {
  background-color: #f1f3f4 !important;
}

#rcmKSearchpane > ul > li .avatar-initial {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: #ffffff !important;
  flex-shrink: 0 !important;
}

#rcmKSearchpane > ul > li > span.fields {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  overflow: hidden !important;
  margin: 0 !important;
}

#rcmKSearchpane > ul > li > span.fields > span.field.name {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #202124 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#rcmKSearchpane > ul > li > span.fields > span.field.email {
  font-size: 12px !important;
  color: #5f6368 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#rcmKSearchpane > ul > li > i.icon {
  display: none !important;
}

html.ie11 .listing.iconized li a:before {
  font-size: 1.25rem
}

.listing.iconized tr td:before {
  margin-right: .5rem
}

.listing.iconized tr.contact.person td.name:before {
  content: "\f007"
}

.listing.iconized tr.contact.group td.name:before {
  content: "\f0c0"
}

.listing.iconized tr.general>td.section:before {
  content: "\f108"
}

.listing.iconized tr.mailbox>td.section:before {
  content: "\f0e0";
  font-weight: 400
}

.listing.iconized tr.mailview>td.section:before {
  content: "\f01c"
}

.listing.iconized tr.compose>td.section:before {
  content: "\f1d8"
}

.listing.iconized tr.addressbook>td.section:before {
  content: "\f0c0"
}

.listing.iconized tr.folders>td.section:before {
  content: "\f07b";
  font-weight: 400
}

.listing.iconized tr.server>td.section:before {
  content: "\f233"
}

.listing.iconized tr.encryption>td.section:before {
  content: "\f023"
}

.listing.iconized tr.calendar>td.section:before {
  content: "\f133"
}

.listing.iconized tr.chat>td.section:before {
  content: "\f086"
}

.listing.iconized.selectable li a:before {
  content: ""
}

.listing.iconized.selectable li a.selected:before {
  content: "\f00c"
}

.popupmenu .listing li>a {
  border-left: 0
}

.popupmenu .listing li>a:not(.disabled):hover {
  color: #fff;
  background-color: #37beff
}

.popupmenu .listing li.selected {
  color: #fff;
  background-color: #37beff
}

.popupmenu .listing td {
  overflow: hidden;
  text-overflow: ellipsis
}

ul.treelist li div.treetoggle {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  cursor: pointer;
  background-color: transparent
}

ul.treelist li div.treetoggle:before {
  content: "\f105";
  margin-left: .25em;
  font-size: 1em
}

ul.treelist li div.treetoggle.expanded:before {
  content: "\f107"
}

ul.treelist li>a {
  overflow: hidden;
  text-overflow: ellipsis;
  padding-left: 1.5em
}

ul.treelist li.selected {
  color: inherit;
  background-color: transparent
}

ul.treelist li.selected>a,
ul.treelist li.selected>div>a {
  color: #2c363a;
  background-color: #ebf9ff
}

ul.treelist li ul {
  padding: 0
}

ul.treelist li ul li {
  padding-left: 0
}

ul.treelist li ul li a {
  padding-left: 3em
}

ul.treelist li ul li div.treetoggle {
  left: 1.5em
}

ul.treelist li ul li li a {
  padding-left: 4.5em
}

ul.treelist li ul li li div.treetoggle {
  left: 3em
}

ul.treelist li ul li li li a {
  padding-left: 6em
}

ul.treelist li ul li li li div.treetoggle {
  left: 4.5em
}

ul.treelist li ul li li li li a {
  padding-left: 7.5em
}

ul.treelist li ul li li li li div.treetoggle {
  left: 6em
}

ul.treelist li ul li li li li li a {
  padding-left: 9em
}

ul.treelist li ul li li li li li div.treetoggle {
  left: 7.5em
}

ul.treelist.notree div.treetoggle {
  display: none
}

ul.treelist.notree li>a {
  padding-left: .5em
}

.folderlist li.mailbox.unread>a {
  padding-right: 2.8em;
  font-weight: 700
}

.folderlist li.mailbox .unreadcount {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 2em;
  line-height: 1.4rem;
  margin: 7.7px;
  padding: 0 .3em;
  border-radius: .4em;
  background: #37beff;
  color: #fff;
  text-align: center;
  font-weight: 700
}

html.touch .folderlist li.mailbox .unreadcount {
  line-height: 2rem;
  margin: 9.5px
}

.folderlist li.mailbox.recent>a {
  color: #008cd0
}

.folderlist li.mailbox.recent>a>.unreadcount {
  background: #37beff;
  color: #fff
}

.folderlist li.mailbox.root {
  display: none !important
}

.folderlist li a:before {
  content: "\f07b";
  font-weight: 400;
  margin-right: .5rem
}

.folderlist li.inbox>a:before {
  content: "\f01c";
  font-weight: 900
}

.folderlist li.trash a:before {
  content: "\f2ed";
  font-weight: 900
}

.folderlist li.trash.empty>a:before {
  content: "\f2ed";
  font-weight: 400
}

.folderlist li.drafts a:before {
  content: "\f303";
  font-weight: 900
}

.folderlist li.sent a:before {
  content: "\f1d8";
  font-weight: 900
}

.folderlist li.junk a:before {
  content: "\f7e4";
  font-weight: 900
}

.folderlist li.archive>a:before {
  content: "\f187";
  font-weight: 900
}

.folderlist li.ns-shared>a:before {
  content: "\f1e0";
  font-weight: 900
}

.folderlist li.ns-other>a:before {
  content: "\f500";
  font-weight: 900
}

.folderlist.menu a:before {
  margin-left: .5em
}

.messagelist .branch,
.messagelist>thead,
table.fixedcopy {
  display: none
}

.messagelist td {
  border-left: 0;
  width: 2em;
  vertical-align: top;
  font-size: 1rem !important
}

.messagelist td.subject {
  width: 100%;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap
}

.messagelist td.subject a {
  text-decoration: none;
  cursor: default
}

.messagelist td.subject span {
  line-height: 2em
}

.messagelist td.subject span.date,
.messagelist td.subject span.size {
  font-size: 90%;
  color: #737677
}

.messagelist td.subject span.fromto {
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  font-size: 90%;
  color: #737677;
  padding-left: 1.5em;
  padding-right: .5rem
}

.messagelist td.subject span.subject {
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  user-select: none
}

.messagelist td.threads {
  padding: 0 0 0 .25rem;
  width: 1.5em
}

.messagelist td.flags {
  width: 2.5em
}

.messagelist td.flags>span {
  height: 1.7em;
  line-height: 1.7em;
  display: block
}

.messagelist td.flags>span.flag {
  cursor: pointer
}

.messagelist tr.flagged span.size,
.messagelist tr.flagged td,
.messagelist tr.flagged td.subject span.date,
.messagelist tr.flagged td.subject span.fromto,
.messagelist tr.flagged td.subject span.subject a {
  color: #ff5552
}

.messagelist tr.deleted td,
.messagelist tr.deleted td.subject span.date,
.messagelist tr.deleted td.subject span.fromto,
.messagelist tr.deleted td.subject span.subject a {
  color: rgba(44, 54, 58, .5)
}

.messagelist tr.unread td.subject span.subject {
  font-weight: 700
}

.messagelist tr.unroot td.subject a {
  text-decoration: underline
}

.messagelist tr.thread td.threads div:before {
  content: "\f105";
  cursor: pointer;
  width: 1em
}

.messagelist tr.thread.expanded td.threads div:before {
  content: "\f107"
}

.messagelist td.subject span.msgicon.status:before {
  content: "\f111";
  cursor: pointer;
  font-size: .4rem;
  width: 1.1rem;
  height: 2rem
}

.messagelist td.subject span.msgicon.status.unread:before {
  content: "\f111";
  font-size: .5rem
}

.messagelist td.subject span.msgicon.status.unreadchildren:before {
  content: "\f111";
  font-weight: 400;
  font-size: .5rem
}

.messagelist td.subject span.msgicon.status.replied:before {
  content: "\f3e5";
  font-weight: 900;
  font-size: 1rem
}

.messagelist td.subject span.msgicon.status.forwarded:before {
  content: "\f064";
  font-weight: 900;
  font-size: 1rem
}

.messagelist td.subject span.msgicon.status.replied.forwarded:before {
  content: "\f3e5";
  font-weight: 900;
  font-size: 1rem
}

.messagelist td.subject span.msgicon.status.replied.forwarded:after {
  content: "\f064";
  font-weight: 900;
  font-size: 1rem;
  opacity: .5;
  margin: 0 -.1em 0 -1.25em
}

.messagelist span.attachment span {
  color: rgba(115, 118, 119, .75)
}

.messagelist span.attachment span:before {
  margin: 0;
  content: "\f0c6"
}

.messagelist span.attachment span.report:before {
  content: "\f15c";
  font-weight: 400
}

.messagelist span.attachment span.encrypted:before {
  content: "\f023"
}

.messagelist span.attachment span.vcard:before {
  content: "\f007";
  font-weight: 400
}

.messagelist span.flagged:before {
  content: "\f024"
}

.messagelist tr.flaggedroot:not(:hover) span.unflagged:before {
  content: "\f024";
  color: rgba(115, 118, 119, .75)
}

.messagelist span.size {
  display: none
}

.messagelist.sort-size span.date {
  display: none
}

.messagelist.sort-size span.size {
  display: inline
}

html.layout-phone .messagelist tr,
html.touch .messagelist tr {
  position: relative;
  display: flex
}

html.layout-phone .messagelist td.selection,
html.layout-phone .messagelist td.threads,
html.touch .messagelist td.selection,
html.touch .messagelist td.threads {
  line-height: 3.8em
}

html.layout-phone .messagelist td.flags,
html.touch .messagelist td.flags {
  position: absolute;
  top: .25rem;
  right: 0;
  bottom: 0;
  background-color: transparent
}

html.layout-phone .messagelist td.flags .flag,
html.touch .messagelist td.flags .flag {
  visibility: hidden
}

html.layout-phone .messagelist td.subject,
html.touch .messagelist td.subject {
  padding-right: .5em
}

html.layout-phone .messagelist td.subject .subject,
html.touch .messagelist td.subject .subject {
  padding-right: 1.5rem
}

.contactlist .contact.readonly td {
  font-style: italic
}

.contactlist td.contact:before {
  content: "\f007"
}

.contactlist td.contactgroup:before {
  content: "\f0c0"
}

.contactlist span.email {
  display: inline;
  color: #737677;
  font-style: italic;
  margin-left: .5em
}

.contactlist li a:before {
  margin-right: .5rem
}

.contactlist li a.addressbook::before {
  content: "\f2b9";
  font-weight: 400
}

.contactlist li a.contactgroup::before {
  content: "\f0c0";
  font-weight: 900
}

.attachmentslist {
  padding: 0;
  margin: 0;
  background-color: #fcfcfc;
  border: 1px solid #f4f4f4
}

.attachmentslist:empty {
  padding: 0;
  border: 0
}

.attachmentslist li {
  list-style: none;
  display: inline-flex;
  white-space: nowrap;
  line-height: 2rem;
  padding: 0 .25em;
  max-width: 100%
}

.attachmentslist li:before {
  content: "\f15b";
  font-weight: 400;
  height: 2rem;
  margin: 0
}

.attachmentslist li.text:before,
.attachmentslist li.txt:before {
  content: "\f15c";
  font-weight: 400
}

.attachmentslist li.pdf:before {
  content: "\f1c1";
  font-weight: 400
}

.attachmentslist li.doc:before,
.attachmentslist li.docx:before,
.attachmentslist li.msword:before,
.attachmentslist li.odt:before {
  content: "\f1c2";
  font-weight: 400
}

.attachmentslist li.msexcel:before,
.attachmentslist li.ods:before,
.attachmentslist li.xls:before,
.attachmentslist li.xlsx:before {
  content: "\f1c3";
  font-weight: 400
}

.attachmentslist li.gz:before,
.attachmentslist li.rar:before,
.attachmentslist li.zip:before {
  content: "\f1c6";
  font-weight: 400
}

.attachmentslist li.image:before,
.attachmentslist li.jpeg:before,
.attachmentslist li.jpg:before,
.attachmentslist li.png:before {
  content: "\f1c5";
  font-weight: 400
}

.attachmentslist li.audio:before,
.attachmentslist li.mp3:before {
  content: "\f1c7";
  font-weight: 400
}

.attachmentslist li.m4p:before,
.attachmentslist li.video:before {
  content: "\f1c8";
  font-weight: 400
}

.attachmentslist li.vcard:before {
  content: "\f2bb";
  font-weight: 400
}

.attachmentslist li.html:before {
  content: "\f1c9";
  font-weight: 400
}

.attachmentslist li.odp:before,
.attachmentslist li.otp:before,
.attachmentslist li.ppsx:before,
.attachmentslist li.ppt:before,
.attachmentslist li.pptx:before,
.attachmentslist li.vnd.mspowerpoint:before {
  content: "\f1c4";
  font-weight: 400
}

.attachmentslist li a {
  text-decoration: none;
  line-height: 2rem;
  height: 2rem
}

.attachmentslist li a.cancelupload:before,
.attachmentslist li a.delete:before {
  content: "\f2ed";
  line-height: 2rem;
  height: 2rem;
  margin: 0
}

.attachmentslist li a.dropdown:before {
  margin: 0
}

.attachmentslist li.uploading:before {
  -webkit-animation: spinner-border 1.5s infinite linear;
  animation: spinner-border 1.5s infinite linear;
  content: "\f1ce";
  font-weight: 900
}

.attachmentslist li a.filename {
  display: flex;
  overflow: hidden;
  padding: 0 .2em
}

.attachmentslist li .attachment-name {
  overflow: hidden;
  text-overflow: ellipsis;
  color: #2c363a
}

.attachmentslist li .attachment-size {
  color: #737677;
  padding-left: .25em
}

.keylist {
  padding: 0;
  list-style: none
}

.keylist li {
  line-height: 2
}

.keylist li:before {
  content: "\f084";
  line-height: 1.5
}

#identities-table td.mail:before {
  content: "\f2c2"
}

#responses-table td.name:before {
  content: "\f075"
}

#filterslist td.name:before {
  content: "\f0b0"
}

#filtersetslist td.name:before {
  content: "\f15c"
}

#subscription-table li.mailbox a {
  padding-right: 2.5rem
}

#uploadform {
  display: none
}

form.smart-upload,
input.smart-upload {
  visibility: hidden;
  width: 1px;
  height: 1px;
  opacity: 0
}

.propform:not(.popupmenu) {
  width: 100%
}

.propform .form-check td:not(.title)>label {
  display: block;
  margin: 0;
  line-height: 2rem
}

.propform .form-check td:not(.title)>label label {
  margin-right: .5rem
}

.propform td.datetime {
  display: flex
}

.propform td.datetime input:first-child {
  margin-right: .5rem
}

.propform td.datetime input:last-child {
  width: 75%
}

.propform td.rowbuttons {
  width: 1%;
  white-space: nowrap;
  vertical-align: top
}

.propform td.rowbuttons span {
  display: none
}

.propform td.rowbuttons a {
  padding: 0;
  line-height: 2.3rem;
  height: 2.3rem;
  font-size: 1rem
}

.propform td.rowbuttons a:before {
  content: "\f067";
  vertical-align: unset
}

@media screen and (min-width:577px) {
  .propform td.rowbuttons a:before {
    margin: 0 !important
  }
}

.propform td.rowbuttons a.delete:before {
  content: "\f2ed"
}

.propform td.rowbuttons a.advanced:before {
  content: "\f013"
}

.propform td.rowbuttons a:not(:last-child) {
  margin-right: .25rem
}

.propform td.rowactions {
  width: 1%;
  vertical-align: top
}

.propform td.rowactions .form-control {
  width: auto
}

.propform td.rowtargets {
  vertical-align: top
}

.propform td.rowtargets .composite .input-group,
.propform td.rowtargets .composite .multi-input,
.propform td.rowtargets .composite input,
.propform td.rowtargets .composite select,
.propform td.rowtargets .composite textarea {
  margin-bottom: .5rem
}

.propform td.rowtargets .composite .input-group .multi-input,
.propform td.rowtargets .composite .input-group input,
.propform td.rowtargets .composite .input-group select,
.propform td.rowtargets .composite .input-group textarea {
  margin-bottom: 0
}

.propform td.rowtargets .composite br {
  display: block
}

.propform td.rowtargets .input-group {
  margin-bottom: .25rem
}

.propform td.rowtargets .input-group :first-child.input-group-prepend {
  text-align: left;
  min-width: 7.5em
}

.propform td.rowtargets .input-group :first-child.input-group-prepend>* {
  width: 100%
}

.propform td.rowtargets>.advanced {
  margin-top: .25rem
}

.propform td.title {
  padding-top: 0;
  padding-bottom: 0
}

.propform td>.flexbox {
  display: flex
}

.propform td>.flexbox>.multi-input {
  width: 100%;
  margin-left: .25rem
}

.propform.grouped.readonly legend {
  margin: 0
}

.propform.grouped.readonly .row.input-group {
  margin-bottom: 0 !important
}

.propform.grouped.readonly label {
  min-width: 7rem;
  background-color: transparent;
  border: 0;
  border-radius: 0
}

.propform.grouped .row.input-group {
  margin-bottom: .5rem;
  flex-wrap: nowrap
}

.propform.grouped .row.input-group>:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 8rem
}

.propform.grouped .row.input-group>:first-child:not(select) {
  padding: 0
}

@media screen and (max-width:480px) {
  .propform.grouped .row.input-group>:first-child {
    min-width: 6rem;
    width: 6rem;
    flex-grow: unset
  }
}

.propform.grouped .row.input-group>:first-child label {
  width: 100%
}

.propform.grouped .row.input-group>:nth-child(2) {
  flex-grow: 30
}

.propform.grouped .row.input-group:last-child {
  margin-bottom: 1rem
}

.propform.grouped .row.input-group select {
  text-align: left
}

.propform.grouped .row.input-group.composite select {
  height: auto
}

.propform.grouped .row.input-group .content {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  border-radius: 0;
  border-left-color: transparent
}

.propform.grouped .row.input-group .content input {
  border-radius: 0;
  border-color: transparent
}

.propform.grouped .row.input-group .content .ff_street {
  width: 100%
}

.propform.grouped .row.input-group .content .ff_locality {
  width: 75%
}

.propform.grouped .row.input-group .content .ff_zipcode {
  width: 25%
}

.propform.grouped .row.input-group .content .ff_country,
.propform.grouped .row.input-group .content .ff_region {
  width: 50%
}

.propform.grouped .form-control-plaintext {
  flex-grow: 1;
  border: 0
}

.propform .addfield {
  margin: 0
}

.propform .addfield select {
  width: fit-content;
  margin-top: .5rem
}

.propform .form-text {
  font-size: 90%;
  color: #737677
}

.propform.row.form-group {
  margin-left: 0;
  margin-right: 0
}

.propform.row.form-group div,
.propform.row.form-group label {
  padding-left: 0;
  padding-right: 0
}

.propform select+.input-group,
.propform select+select {
  padding-top: .5rem
}

.propform.text-only {
  margin-bottom: .25rem
}

.propform.text-only tr {
  margin: 0
}

.propform.text-only label {
  padding-bottom: 0 !important
}

@media screen and (max-width:576px) {
  .propform.text-only tr {
    display: table-row
  }

  .propform.text-only td {
    width: auto
  }

  .propform.text-only td:first-child {
    width: 33%
  }

  .propform.text-only :not(tr).form-group.row .col-form-label {
    width: 33%
  }

  .propform.text-only :not(tr).form-group.row>:last-child {
    width: 67%
  }
}

@media screen and (max-width:576px) {

  .propform table.compact-table .flexbox>select,
  .propform table.compact-table .rowactions>select {
    width: 100%
  }

  .propform table.compact-table tr {
    display: flex;
    flex-direction: column
  }

  .propform table.compact-table tr td {
    width: 100%;
    padding: .25rem 0 0 0
  }

  .propform table.compact-table tr td.rowbuttons {
    text-align: right;
    padding-top: 0
  }

  .propform table.compact-table tr td.rowbuttons a {
    margin-left: .5rem
  }

  .propform table.compact-table tr td.rowbuttons a>span {
    display: inline
  }
}

.formcontent fieldset:not(.tab-pane):nth-of-type(n+2),
.propform fieldset:not(.tab-pane):nth-of-type(n+2) {
  margin-top: 1em
}

.formcontent legend,
.propform legend {
  font-weight: 700;
  font-size: 1.2em
}

.formcontent label,
.propform label {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  overflow: hidden;
  margin-bottom: 0
}

fieldset.advanced>legend {
  width: auto;
  cursor: pointer
}

fieldset.advanced>legend:after {
  float: right;
  margin: 0 0 0 .25rem;
  line-height: inherit;
  font-size: inherit;
  content: "\f106"
}

fieldset.advanced>legend.closed:after {
  content: "\f107"
}

@media screen and (max-width:576px) {
  .formcontent .text-only .form-group:not(tr) {
    margin-bottom: .25rem
  }

  .formcontent .text-only .form-group:not(tr) .col-form-label {
    width: 33%
  }

  .formcontent .text-only .form-group:not(tr) .col-form-label+span {
    width: 67%
  }

  html.iframe .formcontent>.propform {
    padding: .25rem
  }
}

html.ms .propform .row:not(.form-check)>td {
  display: flex;
  flex-wrap: wrap
}

@media screen and (min-width:576px) {
  html.ms .propform .row.form-check>td {
    display: flex
  }
}

.formcontainer {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow-y: hidden !important
}

.formcontainer .formcontent {
  overflow-x: hidden;
  overflow-y: auto
}

.formcontainer .formbuttons {
  padding: .5rem 1rem
}

.formcontainer .formbuttons button {
  margin-right: .5rem
}

html.iframe.ipad .formcontainer .formbuttons,
html.iframe.webkit.tablet .formcontainer .formbuttons {
  min-height: 4rem
}

html.layout-phone body:not(.action-compose) .formcontainer,
html.layout-small body:not(.action-compose) .formcontainer {
  display: initial;
  overflow-y: auto !important
}

html.layout-phone body:not(.action-compose) .formcontainer .formcontent,
html.layout-small body:not(.action-compose) .formcontainer .formcontent {
  overflow: initial !important
}

html.layout-phone body:not(.action-compose) .formcontainer .formbuttons,
html.layout-small body:not(.action-compose) .formcontainer .formbuttons {
  display: none
}

body.action-compose .formcontainer .formbuttons,
body.action-compose .formbuttons,
body.task-mail.action-compose .formbuttons {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.formcontent:not(.popupmenu) {
  padding: 1rem
}

.formcontent .row {
  margin-right: 0;
  margin-left: 0
}

.formcontent .row .col,
.formcontent .row .col-10,
.formcontent .row .col-12,
.formcontent .row .col-2,
.formcontent .row .col-4,
.formcontent .row .col-6,
.formcontent .row .col-8,
.formcontent .row .col-sm,
.formcontent .row .col-sm-10,
.formcontent .row .col-sm-12,
.formcontent .row .col-sm-2,
.formcontent .row .col-sm-4,
.formcontent .row .col-sm-6,
.formcontent .row .col-sm-8 {
  padding: 0
}

.formcontent .row .form-control-plaintext,
.formcontent .row label.col-form-label {
  padding: 5px 5px 5px 0
}

.formcontent .row .form-control-plaintext {
  padding-bottom: 0;
  border: 0
}

@media screen and (max-width:576px) {
  .formcontent .row.form-group>td label {
    padding-bottom: 0
  }
}

.formcontent .row.form-check {
  padding: 0;
  display: flex;
  flex-wrap: nowrap
}

@media screen and (max-width:576px) {
  .formcontent .row.form-check .col-6 {
    max-width: 100%;
    flex: auto
  }

  .formcontent .row.form-check>:last-child {
    width: 1%;
    min-width: 2.6rem
  }

  .formcontent .row.form-check.with-link>:last-child {
    min-width: 8rem
  }
}

.formcontent .row.form-check .form-check-input {
  margin: .5rem 0
}

.formcontent .row.form-check .custom-switch+a {
  line-height: 2;
  vertical-align: bottom
}

.formcontent .row.form-check td>label {
  padding-bottom: 0
}

.formcontent .nav-tabs {
  margin-bottom: 1rem
}

.formcontent .nav-tabs:empty {
  display: none
}

.formcontent .hint {
  font-style: italic;
  color: #737677
}

.formcontent.raweditor {
  height: 100%
}

.formcontent.raweditor form {
  height: 100%
}

.formcontent.raweditor textarea {
  font-family: monospace;
  height: 100%
}

.formcontent.raweditor .CodeMirror {
  border: 1px solid #ced4da;
  border-radius: .3rem;
  height: 100%;
  color: #2c363a
}

.formcontent.raweditor .CodeMirror-focused {
  border-color: #37beff;
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .25)
}

.formcontent.raweditor .CodeMirror-linebackground.line-error {
  background-color: #ff5552;
  opacity: .4
}

.formcontent.raweditor .errorGutter {
  width: .8em
}

@media screen and (max-width:320px) {
  .formcontent .col-form-label {
    flex: auto;
    max-width: 100%
  }

  .formcontent .col-10,
  .formcontent .col-6,
  .formcontent .col-8 {
    flex: auto;
    max-width: 100%
  }
}

.input-group .icon {
  text-decoration: none;
  padding: 5px .5rem
}

.input-group .icon.input-group-text {
  min-width: 2.4rem
}

.input-group .icon:before {
  margin: 0 !important;
  line-height: 1;
  font-size: 1.1rem
}

.input-group .icon.user:before {
  content: "\f007"
}

.input-group .icon.pass:before {
  content: "\f023"
}

.input-group .icon.host:before {
  content: "\f015"
}

.input-group .icon.language:before {
  content: "\f0ac"
}

.input-group .icon.cancel:before {
  content: "\f00d"
}

.input-group .icon.delete:before {
  content: "\f2ed"
}

.input-group .icon.edit:before {
  content: "\f303"
}

.input-group .icon.add:before {
  content: "\f067"
}

.input-group .icon.add.recipient:before {
  content: "\f0c0"
}

.input-group .icon.search:before {
  content: "\f002"
}

.input-group .icon.filter:before {
  content: "\f0b0"
}

.input-group .icon.key:before {
  content: "\f084"
}

.input-group .icon .inner {
  display: none
}

.input-group a:focus {
  background-color: rgba(55, 190, 255, .25);
  outline: 0
}

.proplist {
  margin-bottom: 0;
  padding: 0
}

.proplist li {
  list-style-type: none;
  line-height: 2rem;
  margin-bottom: .25rem;
  display: flex;
  align-items: center
}

.proplist li:last-child {
  margin-bottom: 0
}

.proplist li input[type=radio] {
  margin-right: .5em
}

.proplist li input[type=radio]:disabled+label {
  opacity: .5
}

.proplist li label:not(.input-group-text) {
  margin: 0;
  line-height: 2rem
}

.proplist li select {
  width: auto;
  display: inline
}

.proplist li.with-sublist {
  flex-wrap: wrap;
  position: relative
}

.proplist li.with-sublist>:first-child {
  width: 100%;
  margin-right: 2em
}

.proplist li.with-sublist>.proplist {
  margin-left: 2.5rem
}

.proplist li.with-sublist>a.dropdown {
  position: absolute;
  right: 0;
  top: 0;
  height: 2em;
  color: #2c363a
}

.checklist>div {
  line-height: 2rem;
  display: block
}

.checklist .custom-control-label:after,
.checklist .custom-control-label:before {
  margin: calc(2px * -1) 0 0 0
}

.checklist>div+br {
  display: none
}

.popup form.propform {
  padding: .25rem;
  overflow-x: hidden
}

.popupmenu.form.nolist {
  padding: 0 .5rem
}

.popupmenu.form ul {
  list-style-type: none;
  padding: 0;
  margin: 0
}

.popupmenu.form li:not(.separator) {
  padding: 0 1rem
}

.popupmenu.form li:not(.separator) label {
  margin: 0;
  line-height: 35px
}

.popupmenu.form li:not(.separator) label input {
  margin-right: .5rem
}

.popupmenu.form input {
  vertical-align: middle
}

.popupmenu.form select {
  margin: .5rem 0
}

.popupmenu.form .buttons {
  text-align: center;
  padding: .5rem
}

.multi-input>.content {
  max-height: 11.65em;
  overflow: hidden;
  overflow-y: auto;
  border-radius: .25rem;
  border: 1px solid #ced4da
}

.multi-input>.content.focused {
  border-color: #37beff;
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .25)
}

.multi-input a.icon.reset:before {
  content: "\f2ed"
}

.multi-input input.form-control {
  padding-left: .75rem;
  height: auto
}

.multi-input .input-group-text,
.multi-input input,
.multi-input input:focus {
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid #ced4da;
  box-shadow: none
}

.multi-input .input-group-text {
  border-left: 1px solid #ced4da
}

.multi-input .input-group-append {
  margin-left: 0
}

.multi-input .input-group {
  margin: 0 !important;
  flex-wrap: nowrap
}

.multi-input .input-group:last-child * {
  border-bottom: 0
}

.multi-input+.btn {
  margin-top: .5rem
}

.multi-input.is-invalid>.content {
  border: 1px solid #ff5552
}

.multi-input.is-invalid>.content.focused {
  border-color: #ff5552;
  box-shadow: 0 0 0 .2rem rgba(255, 85, 82, .25)
}

.multi-input.is-invalid>.invalid-feedback {
  display: inline-block;
  line-height: 1.5
}

.file-upload {
  padding: 1rem 1rem 12rem;
  margin: 0 1rem .25rem 1rem;
  border-radius: .5rem;
  border: .2rem dashed #d4dbde
}

fieldset .file-upload {
  margin: 0
}

.file-upload .upload-form {
  text-align: center;
  padding-bottom: 1em
}

.file-upload .upload-form a.btn,
.file-upload .upload-form button {
  margin-bottom: .25rem
}

.file-upload .hint {
  margin-bottom: .5rem;
  color: #737677;
  text-align: center
}

.file-upload .attachmentslist {
  border: 0;
  background: 0 0
}

.file-upload .attachmentslist li {
  position: relative;
  display: flex;
  padding-right: 1.5em;
  margin: .15em 0
}

.file-upload .attachmentslist li a.filename {
  flex: 1
}

.file-upload .attachmentslist li a.cancelupload,
.file-upload .attachmentslist li a.delete {
  position: absolute;
  right: .25em;
  width: auto
}

.file-upload .attachmentslist li a.dropdown {
  margin-right: .5em
}

.file-upload .attachmentslist li .inner {
  display: none
}

.file-upload.droptarget {
  padding-bottom: .5rem !important
}

.file-upload.droptarget:after {
  content: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20960%20560%22%3E%0A%3Cpath%20fill%3D%22%23d4dbde%22%20d%3D%22M690%20245c0%209.2-3.5%2017.9-10.1%2024.9l-175%20175c-6.6%206.6-15.3%2010.1-24.9%2010.1-9.2%200-18.4-3.5-24.9-10.1l-175-175c-6.6-7-10.1-15.8-10.1-24.9%200-4.4.9-9.2%202.6-13.6C277.9%20218.3%20291%20210%20305%20210h87.5V35c0-19.2%2015.8-35%2035-35h105c19.2%200%2035%2015.8%2035%2035v175H655c14%200%2027.1%208.3%2032.4%2021.4%201.7%204.4%202.6%209.2%202.6%2013.6zm0%20245H270V350h-70v140c0%2038.5%2031.5%2070%2070%2070h420c38.5%200%2070-31.5%2070-70V350h-70v140z%22%2F%3E%0A%3C%2Fsvg%3E%0A");
  width: 10rem;
  margin: 5rem auto 0 auto;
  display: block
}

.file-upload.droptarget.active {
  border-color: #b9b9b9
}

.file-upload.droptarget.hover {
  border-color: #b9b9b9;
  background-color: #ececec
}

.recipient-input {
  display: flex;
  flex-wrap: wrap;
  padding: 0 .75rem 4px .75rem;
  list-style-type: none;
  cursor: text;
  height: auto
}

.recipient-input.focus {
  border-color: #37beff;
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .25)
}

.recipient-input li {
  max-width: 100%
}

.recipient-input li:not(.recipient) {
  user-select: text
}

.recipient-input li.input {
  flex: 1;
  min-width: 100px
}

.recipient-input input {
  width: 100%;
  background: 0 0 !important;
  border: 0 !important;
  margin-top: 4px;
  outline: 0;
  line-height: 1.5
}

.recipient-input input::-ms-clear {
  display: none
}

.recipient-input li.recipient,
body>li.recipient.ui-sortable-helper {
  display: flex;
  position: relative;
  max-width: calc(50% - 3px);
  border: 1px solid #ced4da;
  background-color: #f1f3f4;
  border-radius: .25rem;
  padding: 0 .25rem;
  margin-top: 4px;
  margin-right: .2em;
  white-space: nowrap;
  cursor: default
}

@media screen and (max-width:450px) {

  .recipient-input li.recipient,
  body>li.recipient.ui-sortable-helper {
    width: 100%;
    max-width: 100%
  }
}

.recipient-input li.recipient .name,
body>li.recipient.ui-sortable-helper .name {
  overflow: hidden;
  text-overflow: ellipsis;
  flex-grow: 1;
  line-height: 1.1;
  padding: 3px;
  vertical-align: middle
}

.recipient-input li.recipient .email,
body>li.recipient.ui-sortable-helper .email {
  text-indent: -5000rem;
  display: inline-block;
  width: 0
}

.recipient-input li.recipient .quotes,
body>li.recipient.ui-sortable-helper .quotes {
  position: absolute;
  width: 0;
  opacity: 0
}

.recipient-input li.recipient a.button.icon,
body>li.recipient.ui-sortable-helper a.button.icon {
  font-size: .75em;
  cursor: pointer;
  padding: 0;
  color: #2c363a
}

.recipient-input li.recipient a.button.icon:before,
body>li.recipient.ui-sortable-helper a.button.icon:before {
  display: inline-block;
  width: 1em;
  line-height: 1.6
}

.recipient-input li.recipient.ui-sortable-helper,
body>li.recipient.ui-sortable-helper.ui-sortable-helper {
  padding: 0 0 0 .25rem !important
}

.tagedit-list {
  display: flex;
  flex-wrap: wrap;
  padding: 0 .75rem 4px .75rem;
  margin: 0;
  list-style-type: none;
  min-height: 2.3rem
}

.tagedit-list+.placeholder {
  display: none
}

.tagedit-list[tabindex="-1"] {
  border-color: #37beff;
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .25)
}

.tagedit-list li.tagedit-listelement-new {
  margin-top: 4px
}

.tagedit-list li.tagedit-listelement-new input {
  width: 15px;
  background: 0 0 !important;
  border: 0;
  outline: 0;
  margin: 0;
  padding: 0;
  line-height: 1.5
}

.tagedit-list li.tagedit-listelement-new input.tagedit-input-disabled {
  visibility: hidden
}

.tagedit-list li.tagedit-listelement-old {
  max-width: 50%;
  border: 1px solid #ced4da;
  background-color: #f1f3f4;
  border-radius: .25em;
  margin-top: 4px;
  margin-right: .2em;
  white-space: nowrap
}

.tagedit-list li.tagedit-listelement-old a {
  font-size: .8em;
  cursor: pointer;
  display: inline-block;
  width: 1.1em;
  overflow: hidden;
  vertical-align: middle;
  margin-right: .2rem;
  color: inherit;
  text-decoration: none
}

.tagedit-list li.tagedit-listelement-old a:before {
  content: "\f00d";
  width: 1em;
  line-height: 1.2
}

.tagedit-list li.tagedit-listelement-old span {
  overflow: hidden;
  text-overflow: ellipsis;
  flex-grow: 1;
  display: inline-block;
  line-height: 1.4;
  padding: 0 .25rem;
  vertical-align: middle
}

.skinselection {
  white-space: nowrap;
  display: table-row
}

.skinselection>span {
  display: table-cell;
  vertical-align: middle;
  padding: .1em .5em;
  white-space: normal
}

.skinselection>span:last-child {
  padding-right: 0
}

.skinselection .skinitem input {
  width: auto
}

.skinselection .skinname {
  font-weight: 700
}

.skinselection .skinlicense,
.skinselection .skinlicense a {
  font-style: italic;
  text-decoration: none
}

.skinselection .skinlicense a:hover {
  text-decoration: underline
}

.skinselection .skinauthor,
.skinselection .skinlicense {
  font-size: 90%
}

.skinselection .skinthumbnail {
  width: 64px;
  height: 64px;
  border: 1px solid #ced4da;
  background: #fff;
  border-radius: 4px
}

.input-percent-slider {
  display: flex;
  align-items: center
}

.input-percent-slider input {
  max-width: 4em
}

.input-percent-slider span.label {
  line-height: 2.4;
  padding: 0 .5rem 0 .25rem
}

.input-percent-slider div.ui-slider {
  flex: 1;
  margin: 0 .5em
}

.image-upload {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  background-color: #f4f4f4
}

.image-upload a.button {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(255, 255, 255, .85);
  border-radius: 5px;
  width: 2.5em;
  padding: .5em;
  margin: .5em;
  line-height: 1
}

.image-upload.changed a.button {
  display: inline
}

.input-group-combo select:first-of-type.alone {
  border-radius: .25rem !important
}

.input-group-combo select:first-of-type:not(.alone) {
  flex: unset;
  width: auto
}

.input-group-combo .input-group {
  padding: 0 !important;
  flex: 2
}

.input-group-combo .input-group :first-child,
.input-group-combo select+select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0
}

@-moz-document url-prefix() {
  select:-moz-focusring {
    color: transparent !important;
    text-shadow: 0 0 0 #2c363a !important
  }
}

.form-control {
  color: #2c363a
}

.form-control.custom-select {
  padding-right: 1.75rem;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px
}

.form-control:focus {
  color: #2c363a;
  border-color: #37beff;
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .25)
}

.form-control.is-invalid {
  border-color: #ff5552;
  box-shadow: none
}

.form-control.is-invalid:focus {
  border-color: #ff5552;
  box-shadow: 0 0 0 .2rem rgba(255, 85, 82, .25)
}

.form-control::placeholder {
  color: #bbb
}

.form-control::-ms-input-placeholder,
.form-control::-webkit-input-placeholder {
  color: #bbb
}

.invalid-feedback {
  color: #ff5552;
  font-size: 90%
}

.form-group {
  margin-bottom: .5rem
}

.input-group-append.input-group-prepend {
  display: inline
}

.input-group-text {
  color: #2c363a;
  background-color: #f1f3f4
}

.input-group-text input:focus {
  z-index: 1;
  border-color: #37beff !important
}

.custom-switch {
  padding-left: 0;
  display: inline-block
}

.custom-switch .custom-control-input {
  left: 0;
  opacity: 0 !important
}

.custom-switch .custom-control-input:focus~.custom-control-label:before {
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .25)
}

.custom-switch .custom-control-input:focus:not(:checked)~.custom-control-label::before {
  border-color: #37beff
}

.custom-switch .custom-control-input:checked~.custom-control-label::before {
  border-color: #37beff;
  background-color: #37beff
}

.custom-switch .custom-control-input:checked:disabled~.custom-control-label::before {
  border-color: #84d7ff;
  background-color: #84d7ff
}

.custom-switch .custom-control-label {
  padding-left: 2.5rem;
  min-height: 2rem;
  line-height: 2;
  display: inline-block
}

html.touch .custom-switch .custom-control-label {
  padding-left: 3rem
}

.custom-switch .custom-control-label:after,
.custom-switch .custom-control-label:before {
  border-radius: .6rem;
  margin: 2px 0
}

html.touch .custom-switch .custom-control-label:after,
html.touch .custom-switch .custom-control-label:before {
  border-radius: .8rem;
  margin: 0
}

.custom-switch .custom-control-label:before {
  left: 2px;
  top: 4px;
  width: 26px;
  height: 16px
}

html.touch .custom-switch .custom-control-label:before {
  top: 2px;
  width: 35px;
  height: 22px
}

.custom-switch .custom-control-label:after {
  left: 4px;
  top: 6px;
  width: 12px;
  height: 12px
}

html.touch .custom-switch .custom-control-label:after {
  top: 4px;
  height: 18px;
  width: 18px
}

.custom-switch .custom-control-input:checked~.custom-control-label::after {
  transform: translateX(10px)
}

html.touch .custom-switch .custom-control-input:checked~.custom-control-label::after {
  transform: translateX(13px)
}

.custom-switch .custom-control-input:not(:disabled)~.custom-control-label:after,
.custom-switch .custom-control-input:not(:disabled)~.custom-control-label:before {
  cursor: pointer
}

.custom-file {
  display: block
}

#compose-content > .custom-file,
#layout-content > .custom-file,
.compose-headers-table > .custom-file,
.compose-topbar + .custom-file,
#compose-photo-input {
  display: none !important;
}

.custom-file .custom-file-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 100px
}

.custom-file+.hint {
  margin-top: 3px
}

.custom-file-input:focus~.custom-file-label {
  border-color: #37beff;
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .25)
}

div.tox {
  font-size: 1rem
}

div.tox,
div.tox :not(.svg) {
  font-family: Roboto, sans-serif
}

div.tox.tox-tinymce {
  border-radius: .25rem;
  border: 1px solid #ced4da
}

div.tox.focused {
  border-color: #37beff !important;
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .25) !important
}

div.tox .tox-toolbar-overlord {
  z-index: 1
}

div.tox .tox-toolbar-overlord>div {
  background: var(--g-bg, #ffffff);
  background-color: var(--g-bg, #ffffff);
}

div.tox .tox-toolbar__primary {
  border-top: 0
}

div.tox .tox-toolbar {
  background-color: #f1f3f4
}

div.tox .tox-edit-area {
  border: 0
}

div.tox .tox-dialog {
  border-radius: 0;
  border-color: #d4dbde;
  box-shadow: none;
  align-self: unset !important
}

div.tox .tox-dialog .tox-form__group {
  margin-top: 0;
  margin-bottom: .75rem
}

div.tox .tox-dialog .tox-dialog__body-nav-item--active {
  color: #00acff;
  border-color: transparent
}

div.tox .tox-dialog .tox-dialog__body-nav-item--active:hover {
  color: #008acc
}

div.tox .tox-dialog__body-content {
  overflow: unset
}

div.tox .tox-dialog__content-js {
  overflow: auto
}

div.tox .tox-dialog-wrap__backdrop {
  background-color: rgba(44, 54, 58, .5)
}

div.tox .tox-dialog__header {
  height: 57px;
  border-bottom: 1px solid #ddd;
  justify-content: flex-end;
  padding: 0
}

div.tox .tox-dialog__header .tox-button {
  color: #2c363a;
  right: 0;
  height: 57.3px;
  width: 2.25em;
  margin-right: .4rem
}

div.tox .tox-dialog__header .tox-button:hover {
  background: 0 0;
  border-color: transparent
}

div.tox .tox-dialog__header .tox-button .tox-icon {
  display: none
}

div.tox .tox-dialog__header .tox-button:before {
  content: "\f00d";
  line-height: 1.5rem;
  margin: 0 !important
}

div.tox .tox-dialog__footer {
  height: 57px !important;
  border: 0;
  margin: 0;
  padding: 0 1rem
}

@media screen and (max-width:480px) {
  div.tox .tox-dialog__footer {
    border-top: 1px solid #ddd
  }
}

div.tox .tox-dialog__footer>div {
  white-space: nowrap;
  max-height: 57px
}

div.tox .tox-dialog__footer>div button:first-child {
  margin: 0
}

div.tox .tox-dialog__footer .tox-button {
  color: #fff;
  background: #37beff;
  border-color: #37beff;
  font-weight: 400;
  padding: .5rem .75rem
}

div.tox .tox-dialog__footer .tox-button:focus {
  background: #1eb6ff;
  border-color: #13b2ff;
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .5)
}

div.tox .tox-dialog__footer .tox-button:hover {
  background: #1eb6ff;
  border-color: #13b2ff
}

div.tox .tox-dialog__footer .tox-button.disabled,
div.tox .tox-dialog__footer .tox-button:disabled {
  background: #37beff;
  border-color: #37beff
}

div.tox .tox-dialog__footer .tox-button:not(:disabled):not(.disabled).active,
div.tox .tox-dialog__footer .tox-button:not(:disabled):not(.disabled):active {
  background: #04adff;
  border-color: #00a8f9
}

div.tox .tox-dialog__footer .tox-button:not(:disabled):not(.disabled).active:focus,
div.tox .tox-dialog__footer .tox-button:not(:disabled):not(.disabled):active:focus {
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .53)
}

div.tox .tox-dialog__footer .tox-button:before {
  width: 1em;
  content: "\f00c";
  line-height: 1
}

div.tox .tox-dialog__footer .tox-button:focus:not(:disabled) {
  background: #37beff;
  border-color: #37beff
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary {
  background: #8b9fa7;
  border-color: #8b9fa7;
  color: #fff
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary:focus {
  background: #7c939c;
  border-color: #778e98;
  box-shadow: 0 0 0 .2rem rgba(139, 159, 167, .5)
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary:hover {
  background: #7c939c;
  border-color: #778e98
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary.disabled,
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:disabled {
  background: #8b9fa7;
  border-color: #8b9fa7
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary:not(:disabled):not(.disabled).active,
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:not(:disabled):not(.disabled):active {
  background: #6e8791;
  border-color: #6a828b
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary:not(:disabled):not(.disabled).active:focus,
div.tox .tox-dialog__footer .tox-button.tox-button--secondary:not(:disabled):not(.disabled):active:focus {
  box-shadow: 0 0 0 .2rem rgba(139, 159, 167, .53)
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary:before {
  content: "\f00d"
}

div.tox .tox-dialog__footer .tox-button.tox-button--secondary:focus:not(:disabled) {
  background: #8b9fa7;
  border-color: #8b9fa7
}

div.tox .tox-search-dialog .tox-form__group:not(:first-child) {
  flex: initial !important
}

div.tox .tox-search-dialog .tox-dialog__footer-start button {
  padding: .25rem
}

div.tox .tox-search-dialog .tox-dialog__footer-end button:before {
  content: "\f303" !important
}

div.tox .tox-search-dialog .tox-dialog__footer-end button:first-of-type:before {
  content: "\f002" !important
}

div.tox .tox-dialog__title {
  line-height: calc(58px - 1px);
  font-size: 1.25rem;
  font-weight: 700;
  padding: 0 0 0 1rem;
  width: 100%;
  color: #2c363a
}

div.tox .tox-tbtn {
  height: 28px
}

div.tox .tox-tbtn:not(.tox-tbtn--select, .tox-split-button__chevron) {
  width: 32px
}

div.tox .tox-button {
  line-height: 1.5
}

div.tox .tox-label {
  color: #2c363a;
  padding-bottom: .25rem
}

div.tox .tox-color-input>input,
div.tox .tox-listboxfield .tox-listbox--select,
div.tox .tox-textarea,
div.tox .tox-textfield {
  font-family: Roboto, sans-serif !important;
  font-size: 14px;
  line-height: 1.5;
  color: #2c363a;
  border-radius: .25rem;
  min-height: 0;
  padding: .375rem .75rem
}

div.tox .tox-color-input>input:focus,
div.tox .tox-listboxfield .tox-listbox--select:focus,
div.tox .tox-textarea:focus,
div.tox .tox-textfield:focus {
  border-color: #37beff;
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .25)
}

div.tox .tox-listbox__select-label {
  margin: 0
}

div.tox .tox-color-input span {
  top: 5px
}

div.tox .custom-switch {
  position: relative;
  font-size: 1rem;
  margin-top: .15rem
}

div.tox .custom-switch .tox-checkbox__icons {
  display: none
}

div.tox .custom-switch .tox-checkbox__label {
  margin: 0
}

div.tox .image-selector {
  font-size: 1rem
}

div.tox .image-selector button {
  color: #fff;
  background: #8b9fa7;
  border-color: #8b9fa7;
  padding: .5rem .75rem;
  line-height: 1.5
}

div.tox .image-selector button:focus {
  background: #7c939c;
  border-color: #778e98;
  box-shadow: 0 0 0 .2rem rgba(139, 159, 167, .5)
}

div.tox .image-selector button:hover {
  background: #7c939c;
  border-color: #778e98
}

div.tox .image-selector button.disabled,
div.tox .image-selector button:disabled {
  background: #8b9fa7;
  border-color: #8b9fa7
}

div.tox .image-selector button:not(:disabled):not(.disabled).active,
div.tox .image-selector button:not(:disabled):not(.disabled):active {
  background: #6e8791;
  border-color: #6a828b
}

div.tox .image-selector button:not(:disabled):not(.disabled).active:focus,
div.tox .image-selector button:not(:disabled):not(.disabled):active:focus {
  box-shadow: 0 0 0 .2rem rgba(139, 159, 167, .53)
}

div.tox .tox-form__controls-h-stack div:not(:last-child) {
  flex: 1
}

div.tox .tox-collection__item-label {
  white-space: nowrap
}

@media screen and (max-width:480px) {
  div.tox .tox-dialog {
    margin: 0 !important;
    width: 100% !important;
    height: 100%;
    left: 0 !important;
    top: 0 !important;
    border-width: 0 !important
  }

  div.tox .tox-dialog__header {
    background-color: #f4f4f4
  }

  div.tox .tox-dialog__header .tox-button {
    display: none
  }

  div.tox .tox-dialog__title {
    font-size: 1rem;
    text-align: center;
    padding: 0 1rem
  }

  div.tox .tox-dialog__footer {
    background-color: #f4f4f4
  }

  div.tox .tox-dialog__footer .tox-button {
    color: #2c363a !important;
    background: 0 0 !important;
    padding: .45rem;
    margin: 0 !important;
    border: 0;
    font-size: 90%
  }

  div.tox .tox-dialog__footer .tox-button:before {
    display: block;
    float: none;
    width: 100%;
    margin: 0;
    line-height: 1.75;
    height: 1.75rem
  }

  div.tox .tox-dialog__footer .tox-button:active,
  div.tox .tox-dialog__footer .tox-button:focus,
  div.tox .tox-dialog__footer .tox-button:hover {
    background: 0 0;
    border: 0;
    box-shadow: none;
    color: #2c363a
  }

  div.tox .tox-dialog__footer>div {
    justify-content: space-evenly;
    display: flex;
    width: 100%
  }

  div.tox .tox-dialog__footer>div:empty {
    display: none
  }
}

.image-selector {
  padding: 1rem .5rem 10rem .5rem !important
}

.image-selector.droptarget {
  border: .2rem dashed #d4dbde
}

.image-selector.droptarget:after {
  margin-top: 2rem
}

.image-selector form {
  position: absolute;
  top: 0
}

.image-selector .attachmentslist {
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  height: 19.1em;
  padding: 0 !important
}

.image-selector .attachmentslist li {
  padding: .25rem;
  cursor: pointer
}

.image-selector .attachmentslist li:before {
  display: none
}

.image-selector .attachmentslist li:focus,
.image-selector .attachmentslist li:hover {
  background: #ebf9ff
}

.image-selector .attachmentslist li span.name {
  flex: 1;
  margin: auto;
  padding-left: 1rem;
  overflow: hidden;
  text-overflow: ellipsis
}

.image-selector .attachmentslist li span.img {
  height: 80px;
  width: 80px;
  display: flex;
  border: 1px solid #f1f3f4;
  background: #fff;
  border-radius: .75rem;
  overflow: hidden
}

.image-selector .attachmentslist li img {
  margin: auto
}

html.layout-phone .image-selector .attachmentslist {
  height: auto
}

.html-editor {
  position: relative;
  margin-bottom: .2rem
}

.html-editor .editor-toolbar {
  position: absolute;
  left: 1px;
  top: 1px;
  right: 1px;
  border-radius: .25rem .25rem 0 0;
  border-bottom: 1px solid #ced4da;
  background-color: #f1f3f4
}

.html-editor .editor-toolbar .mce-i-html {
  display: block;
  margin: 2px 2px 2px 4px;
  width: 34px;
  height: 28px;
  border-radius: .25rem;
  color: #222f3e
}

.html-editor .editor-toolbar .mce-i-html:focus,
.html-editor .editor-toolbar .mce-i-html:hover {
  text-decoration: none;
  border-color: #e2e4e7;
  background-color: #dee0e2
}

.html-editor .editor-toolbar .mce-i-html:before {
  content: "\f03e";
  margin: 0;
  width: 34px;
  line-height: 28px
}

.html-editor .editor-toolbar .mce-i-html[disabled] {
  opacity: .7;
  cursor: not-allowed
}

.html-editor .tox-tinymce+.editor-toolbar,
.html-editor.mailvelope .editor-toolbar {
  display: none
}

.html-editor>.googie_edit_layer,
.html-editor>textarea {
  font-family: monospace;
  font-size: 13px;
  width: 100% !important;
  padding-top: 40px
}

.html-editor>iframe {
  border-radius: .3rem;
  border: 1px solid #ced4da;
  min-height: 30em
}

.googie_window {
  width: 16rem;
  height: auto
}

.googie_edit_layer {
  font-family: monospace;
  padding: .5rem .75rem;
  border: 1px solid #ced4da;
  border-radius: .3rem;
  line-height: 1.5
}

.googie_link {
  color: #ff5552;
  text-decoration: underline;
  cursor: pointer
}

.googie_list li {
  min-width: 8rem;
  width: auto
}

.googie_list li.googie_list_onhover {
  color: #fff;
  background-color: #37beff
}

.googie_list li .googie_list_revert:before {
  content: "\f0e2"
}

.googie_list li .googie_add_to_dict:before {
  content: "\f0fe"
}

.googie_list input {
  display: inline-block;
  margin: .25rem .5rem
}

body.task-login,
body.task-logout,
body.task-error,
body.task-login #layout,
body.task-logout #layout,
body.task-error #layout {
  background-color: #02080f !important;
  background-image: url('../images/login-bg.svg?v=2') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-attachment: fixed !important;
  background-size: cover !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh !important;
  width: 100% !important;
}

body.task-login #layout-content,
body.task-logout #layout-content,
body.task-error #layout-content {
  background: transparent !important;
  background-color: transparent !important;
  text-align: center !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh !important;
  padding: 20px !important;
  box-sizing: border-box !important;
}

.rbs-logo-circle img,
.rbs-logo-circle #logo,
.task-login #logo,
.task-logout #logo,
.task-error #logo,
#logo {
  position: static !important;
  top: 0 !important;
  left: auto !important;
  margin: 0 auto !important;
  display: block !important;
  max-width: 48px !important;
  max-height: 48px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.task-login #login-form,
.task-logout #login-form,
.task-error #login-form,
#login-form {
  position: static !important;
  top: 0 !important;
  margin: 0 auto !important;
}

.task-login #logo {
  display: block !important;
  position: static !important;
  top: 0 !important;
  margin: 0 auto !important;
}

#login-form {
  margin: 0 auto !important;
  top: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  position: static !important;
}

#login-form table,
#login-form tbody {
  display: block
}

#login-form .row {
  margin-right: 0;
  margin-left: 0
}

#login-form .oauthlogin {
  margin-top: 1em;
  padding-top: 1em
}

#login-form .formbuttons+.oauthlogin {
  border-top: 1px solid #ccc
}

#rcmloginsubmit:before {
  display: none !important
}

#login-footer {
  flex: 1;
  color: #737677
}

#login-footer>div {
  margin-top: 1rem;
  padding: 1rem;
  background: #f1f3f4;
  border-radius: .3rem
}

#login-addon {
  position: absolute;
  bottom: 0;
  max-height: 30%;
  margin: 1rem !important;
  width: auto !important;
  overflow: auto
}

@media screen and (min-width:769px) {
  #login-addon {
    max-width: 768px;
    margin: auto !important;
    bottom: 1rem;
    left: 0;
    right: 0
  }
}

body.task-error-login #layout #layout-content>.header,
body.task-error-login #layout #layout-menu {
  display: none
}

#contactpic {
  width: 112px;
  height: 135px;
  border-radius: .5rem;
  overflow: hidden;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  background-color: #f4f4f4
}

#contactpic img {
  max-width: 112px;
  max-height: 135px
}

#contacthead .names {
  margin-bottom: .5rem
}

#contacthead .names span.namefield {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2
}

#contacthead.readonly .source.row {
  color: #737677;
  font-size: 90%;
  margin-bottom: .25rem
}

#message-header {
  margin-bottom: 1rem
}

#message-header>.subject {
  font-size: 1.5rem;
  font-weight: 700
}

body.status-flagged #message-header>.subject:before {
  display: inline;
  float: none;
  content: "\f024";
  font-size: 1em;
  color: #ff5552
}

#message-header>.subject a.extwin {
  text-decoration: none
}

#message-header>.subject a.extwin:before {
  float: none;
  display: inline-block;
  font-size: 75%;
  line-height: 1.5;
  margin: 0;
  content: "\f360"
}

#message-header>.subject span.inner {
  display: none
}

#message-header>.header {
  display: flex
}

#message-header>.header img.contactphoto {
  margin: 0 1rem 0 0;
  border-radius: 50%;
  width: 4rem;
  height: 4rem;
  object-fit: cover;
  background: #f4f4f4
}

#message-header .header-content {
  min-height: 4rem;
  flex: 1
}

#message-header .header-content.details-view .header-summary {
  display: none
}

#message-header .header-content.details-view .header-headers {
  display: initial
}

#message-header .header-summary {
  margin-top: .25rem
}

#message-header .header-summary>span {
  display: inline-block
}

#message-header .header-headers {
  display: none
}

#message-header .header-headers .header-title {
  white-space: nowrap;
  color: #737677;
  font-weight: 700;
  padding-right: 1rem;
  vertical-align: top
}

#message-header .header-links {
  margin-top: .25rem
}

#message-header .header-links a {
  font-size: 90%;
  margin-right: .5rem;
  text-decoration: none;
  white-space: nowrap;
  display: inline-block
}

#message-header .header-links a:before {
  height: 1.5rem;
  line-height: 1.3
}

#message-header .header-links a.headers-details:before {
  content: "\f0e0"
}

#message-header .header-links a.headers-summary:before {
  content: "\f0e0";
  font-weight: 400
}

#message-header .header-links a.headers-all:before {
  content: "\f05a"
}

#message-header .header-links a.html:before {
  content: "\f03e"
}

#message-header .header-links a.plain:before {
  content: "\f039"
}

#message-header .header-links a.zipdownload:before {
  content: "\f019"
}

.message-partheaders {
  padding: .25rem .5rem;
  margin: .5rem 0 -.5rem 0;
  border-top: 1px solid #f4f4f4;
  background-color: #fcfcfc
}

.message-partheaders table.headers-table {
  font-size: 90%;
  color: #737677
}

.message-partheaders table.headers-table .header-title {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 8em;
  font-weight: 700;
  padding-right: 1rem;
  vertical-align: top
}

.message-partheaders table.headers-table .subject {
  font-weight: 700
}

.message-partheaders table.headers-table+.message-htmlpart,
.message-partheaders table.headers-table+.message-part {
  border-top: 0;
  margin: 0
}

#message-content .attachmentslist:not(:empty) {
  margin-bottom: 1rem
}

#messagebody.mailvelope iframe {
  min-height: 75vh
}

.message-htmlpart,
.message-part {
  padding-top: .5rem;
  position: relative
}

.message-htmlpart:not(:first-child),
.message-part:not(:first-child) {
  border-top: 1px solid #f4f4f4;
  margin-top: .5rem
}

.message-htmlpart:last-child,
.message-part:last-child {
  margin-bottom: .5rem
}

.message-htmlpart div.rcmBody,
.message-part div.rcmBody {
  margin: 0 auto !important;
  overflow: auto hidden
}

.message-htmlpart blockquote,
.message-part blockquote {
  overflow: hidden;
  text-overflow: ellipsis;
  color: #006a9d;
  border-left: 2px solid #006a9d;
  border-right: 2px solid #006a9d;
  background-color: rgba(241, 243, 244, .5);
  margin: 2px 0;
  padding: 0 .4em
}

.message-htmlpart blockquote blockquote,
.message-part blockquote blockquote {
  color: #205a24;
  border-left: 2px solid #205a24;
  border-right: 2px solid #205a24
}

.message-htmlpart blockquote blockquote blockquote,
.message-part blockquote blockquote blockquote {
  color: #eb0400;
  border-left: 2px solid #eb0400;
  border-right: 2px solid #eb0400
}

.message-htmlpart blockquote span.blockquote-link,
.message-part blockquote span.blockquote-link {
  top: 0;
  cursor: pointer;
  right: .5rem;
  min-width: 4rem;
  padding: .2rem .25rem .2rem .5rem;
  font-size: 90%;
  text-align: center;
  color: #737677;
  background: #f1f3f4;
  border: 1px solid #d4dbde;
  border-radius: .3rem;
  line-height: 1;
  font-family: Roboto, sans-serif
}

.message-htmlpart blockquote span.blockquote-link:after,
.message-part blockquote span.blockquote-link:after {
  content: "\f107";
  display: inline-block;
  float: none;
  margin: 0;
  font-size: 90%
}

.message-htmlpart blockquote span.blockquote-link.collapsed:after,
.message-part blockquote span.blockquote-link.collapsed:after {
  content: "\f106"
}

.message-htmlpart blockquote.blockquote-header,
.message-part blockquote.blockquote-header {
  text-overflow: ellipsis !important;
  padding-right: 5rem !important
}

.message-part span.sig {
  color: #737677
}

.message-part div.pre {
  font-family: monospace;
  font-size: 13px
}

.message-part blockquote {
  display: inline-block;
  min-width: 100%
}

.message-part blockquote+br {
  display: block;
  margin-top: 1em
}

.message-htmlpart *,
.message-htmlpart ::after,
.message-htmlpart ::before {
  box-sizing: initial
}

#compose-attachments {
  margin: 1rem 1rem 0 1rem
}

.suspicious-address-warning:before {
  font-size: 1.25em;
  display: block;
  float: left;
  margin: 0 .25rem 0 0;
  width: 1.18em;
  height: 1em;
  font-family: Icons;
  font-style: normal;
  font-weight: 900;
  text-decoration: inherit;
  text-align: center;
  speak: none;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  float: none;
  display: inline-block;
  content: "\f071";
  color: #ffd452
}

#composestatusbar {
  opacity: .3;
  right: 2.5rem
}

@media screen and (min-width:769px) {
  #composestatusbar {
    display: none
  }
}

#composestatusbar a.button {
  display: inline-block
}

#composestatusbar a.button:before {
  line-height: 58px;
  font-size: 1.25rem !important
}

.settings-default-icon li>a:before,
.settings-default-icon tr>td.section::before {
  content: "\f013"
}

.settings-default-icon li#settings-menu-themes>a:before,
.settings-default-icon li.themes>a:before,
.settings-default-icon tr#sections-themes>td.section::before,
.settings-default-icon tr.sections-themes>td.section::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.dark-mode {
  scrollbar-color: #007bb7 #4d6066
}

html.dark-mode:not(.touch) ::-webkit-scrollbar-track {
  background-color: #4d6066
}

html.dark-mode:not(.touch) ::-webkit-scrollbar-thumb {
  background-color: #007bb7
}

html.dark-mode body {
  color: #c5d1d3;
  background-color: #21292c
}

html.dark-mode #logo {
  opacity: .8
}

html.dark-mode #layout-content,
html.dark-mode #layout-list,
html.dark-mode #layout-sidebar,
html.dark-mode #layout>div>.footer,
html.dark-mode #layout>div>.header,
html.dark-mode .menu.pagenav.pagenav-list,
html.dark-mode .menu.pagenav.pagenav-list+.navlist,
html.dark-mode .menu.pagenav.pagenav-list.expanded+.navlist,
html.dark-mode .popup .listbox .footer {
  background-color: transparent;
  border-color: #4d6066
}

html.dark-mode #layout>div>.footer {
  font-weight: 400
}

html.dark-mode #layout>div>.footer,
html.dark-mode #layout>div>.header {
  color: unset
}

html.dark-mode #layout>div>.footer a.button,
html.dark-mode #layout>div>.header a.button {
  color: #c5d1d3
}

html.dark-mode #layout-menu {
  background: unset;
  border-right: 1px solid #4d6066
}

html.dark-mode #layout-menu .popover-header,
html.dark-mode #layout-menu .special-buttons {
  background: 0 0 !important
}

@media screen and (max-width:480px) {
  html.dark-mode #layout-menu {
    border-left: 0
  }

  html.dark-mode #layout-menu .popover-header {
    border-bottom: 1px solid #4d6066
  }
}

html.dark-mode #layout-menu .special-buttons a:not(:focus) {
  background: #21292c
}

html.dark-mode.layout-phone #layout-menu {
  background: #161b1d
}

html.dark-mode .searchbar {
  background-color: transparent;
  border-color: #4d6066
}

html.dark-mode .searchbar a,
html.dark-mode .searchbar form:before,
html.dark-mode .searchbar input {
  color: unset
}

html.dark-mode .searchbar a.selected {
  color: #41b849
}

html.dark-mode #messagestack div {
  color: #c5d1d3
}

html.dark-mode #messagestack div i.icon:before {
  color: #c5d1d3
}

html.dark-mode #messagestack .alert-info,
html.dark-mode .ui.alert.boxinformation {
  background-color: #217299
}

html.dark-mode #messagestack .alert-danger,
html.dark-mode .ui.alert.boxerror {
  background-color: #993331
}

html.dark-mode #messagestack .alert-warning,
html.dark-mode .ui.alert.boxwarning {
  background-color: #997f31
}

html.dark-mode #messagestack .alert-success,
html.dark-mode .ui.alert.boxconfirmation {
  background-color: #276e2c
}

html.dark-mode #messagestack .loading {
  background-color: #374449
}

html.dark-mode .ui.alert.boxconfirmation,
html.dark-mode .ui.alert.boxerror,
html.dark-mode .ui.alert.boxinformation,
html.dark-mode .ui.alert.boxwarning {
  color: #c5d1d3
}

html.dark-mode .ui.alert.boxconfirmation i.icon:before,
html.dark-mode .ui.alert.boxerror i.icon:before,
html.dark-mode .ui.alert.boxinformation i.icon:before,
html.dark-mode .ui.alert.boxwarning i.icon:before {
  color: #c5d1d3
}

html.dark-mode .ui.alert a:not(.btn) {
  color: #c5d1d3;
  text-decoration: underline
}

html.dark-mode .iframe-loader {
  background-color: rgba(33, 41, 44, .9)
}

html.dark-mode .iframe-loader .spinner-border {
  color: #7d989c;
  border-color: currentColor #425457 currentColor currentColor
}

html.dark-mode #taskmenu a,
html.dark-mode .menu.toolbar a {
  color: #c5d1d3
}

html.dark-mode #taskmenu a.selected,
html.dark-mode .menu.toolbar a.selected {
  background-color: #374549
}

html.dark-mode .menu.pagenav .pagenav-text,
html.dark-mode .menu.pagenav a,
html.dark-mode .popover .menu li a[aria-haspopup]::after,
html.dark-mode pre {
  color: unset
}

html.dark-mode #taskmenu .action-buttons a {
  color: #37beff
}

@media screen and (max-width:480px) {
  html.dark-mode #taskmenu a {
    border-color: #2c373a !important
  }

  html.dark-mode #taskmenu a.selected {
    background: 0 0
  }
}

@media screen and (min-width:481px) and (max-width:1024px) {
  html.dark-mode #taskmenu a {
    width: 41px
  }
}

@media screen and (min-width:1025px) {
  html.dark-mode #taskmenu a {
    width: 77px
  }
}

html.dark-mode.layout-phone .popover,
html.dark-mode.layout-small .popover {
  border-left: 1px solid #4d6066
}

html.dark-mode.layout-phone .popover .menu .dropbutton a.dropdown,
html.dark-mode.layout-small .popover .menu .dropbutton a.dropdown {
  background: 0 0
}

html.dark-mode.layout-phone .popover:not(.select-menu) .listing li:last-child,
html.dark-mode.layout-small .popover:not(.select-menu) .listing li:last-child {
  border-color: #2c373a
}

html.dark-mode.layout-phone .popover-header,
html.dark-mode.layout-small .popover-header {
  background: #161b1d;
  border-bottom: 1px solid #4d6066;
  color: unset
}

html.dark-mode.layout-phone .popover-overlay,
html.dark-mode.layout-small .popover-overlay {
  background: rgba(0, 0, 0, .7)
}

html.dark-mode #taskmenu a:hover,
html.dark-mode .header a.button.icon:not(.disabled):focus,
html.dark-mode .header a.button.icon:not(.disabled):hover,
html.dark-mode .menu a:not(.disabled):focus,
html.dark-mode .menu a:not(.disabled):hover,
html.dark-mode .menu.toolbar .dropbutton:not(.disabled):hover,
html.dark-mode .popupmenu .listing li>a:not(.disabled):hover {
  background-color: #374549
}

html.dark-mode .menu.toolbar a.selected {
  color: #41b849;
  background: 0 0
}

html.dark-mode .menu.toolbar .dropbutton a.dropdown:hover {
  background-color: #425358
}

html.dark-mode .listing li a,
html.dark-mode .listing tbody td,
html.dark-mode .listing tbody td a,
html.dark-mode .proplist li.with-sublist>a.dropdown {
  color: #c5d1d3
}

html.dark-mode .listing li,
html.dark-mode .listing li ul,
html.dark-mode .listing tbody td {
  border-color: #2c373a
}

html.dark-mode .listing li.selected,
html.dark-mode .listing li.selected>a,
html.dark-mode .listing li.selected>div>a,
html.dark-mode .listing tr.selected td {
  color: #37beff;
  background-color: #374549
}

html.dark-mode .listing li.selected ul {
  background-color: #21292c
}

html.dark-mode .listing li.selected ul div.treetoggle {
  color: #c5d1d3
}

html.dark-mode .listing li.disabled,
html.dark-mode .listing tr.disabled td {
  color: #637e82
}

html.dark-mode .listing li.droptarget>a,
html.dark-mode .listing tr.droptarget>td {
  background-color: #4d4d00
}

html.dark-mode .messagelist {
  color: #c5d1d3
}

html.dark-mode .messagelist tr:not(.flagged):not(.deleted) td.subject span.date,
html.dark-mode .messagelist tr:not(.flagged):not(.deleted) td.subject span.fromto,
html.dark-mode .messagelist tr:not(.flagged):not(.deleted) td.subject span.size {
  color: #8ba3a7
}

html.dark-mode .messagelist tr:not(.flagged):not(.deleted) td.subject span.msgicon.status {
  color: #c5d1d3
}

html.dark-mode .messagelist tr:not(.flagged):not(.deleted) span.flag {
  color: #c5d1d3
}

html.dark-mode .messagelist tr:not(.flagged):not(.deleted).selected td.subject a,
html.dark-mode .messagelist tr:not(.flagged):not(.deleted).selected td.subject span.msgicon.status {
  color: #37beff
}

html.dark-mode .messagelist tr.flagged:not(.deleted) span.attachment span,
html.dark-mode .messagelist tr.flagged:not(.deleted) td {
  color: #ff5552
}

html.dark-mode .messagelist tr.deleted td span.attachment span,
html.dark-mode .messagelist tr.deleted td span.flag,
html.dark-mode .messagelist tr.deleted td.subject span.date,
html.dark-mode .messagelist tr.deleted td.subject span.fromto,
html.dark-mode .messagelist tr.deleted td.subject span.msgicon.status,
html.dark-mode .messagelist tr.deleted td.subject span.msgicon.status.unread:before,
html.dark-mode .messagelist tr.deleted td.subject span.subject a {
  color: #637e82
}

html.dark-mode .messagelist span.attachment span {
  color: #8ba3a7
}

html.dark-mode .folderlist li.mailbox .unreadcount {
  background-color: #4d6066;
  color: #e2e8e9;
  font-weight: 400
}

html.dark-mode .attachmentslist {
  background-color: #374549;
  border: 0
}

html.dark-mode .attachmentslist a {
  color: #c5d1d3
}

html.dark-mode .attachmentslist li .attachment-name {
  color: #c5d1d3
}

html.dark-mode .attachmentslist li .attachment-size {
  color: #8ba3a7
}

html.dark-mode .btn {
  color: #c5d1d3
}

html.dark-mode .btn:focus,
html.dark-mode .btn:hover {
  color: #e2e8e9
}

html.dark-mode .btn:disabled {
  opacity: .5 !important
}

html.dark-mode .btn-primary {
  background-color: #006a9d;
  color: #e2e8e9
}

html.dark-mode .btn-primary:hover:not(:disabled) {
  background-color: #007bb7
}

html.dark-mode .btn-secondary {
  background-color: #4d6066;
  color: #e2e8e9
}

html.dark-mode .btn-secondary:hover:not(:disabled) {
  background-color: #586e75
}

html.dark-mode .btn-danger {
  background-color: #993331;
  color: #e2e8e9
}

html.dark-mode .btn-danger:hover:not(:disabled) {
  background-color: #ac3937
}

html.dark-mode .floating-action-buttons a.button {
  box-shadow: none;
  background: #006a9d
}

html.dark-mode .custom-file-label,
html.dark-mode .form-control {
  background-color: #21292c;
  color: #c5d1d3
}

html.dark-mode .custom-file-label:not(.is-invalid),
html.dark-mode .form-control:not(.is-invalid) {
  border-color: #7c949c
}

html.dark-mode .custom-file-label:focus,
html.dark-mode .form-control:focus {
  background-color: #2c373b
}

html.dark-mode .custom-file-label:focus:not(.is-invalid),
html.dark-mode .form-control:focus:not(.is-invalid) {
  color: #e2e7e9 !important;
  border-color: #37beff
}

html.dark-mode .custom-file-label::after {
  color: #c5d1d3;
  background-color: #374549
}

html.dark-mode .custom-select {
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23c5d1d3' viewBox='0 0 4 5'%3e%3cpath d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px
}

html.dark-mode .custom-switch .custom-control-label::before {
  background-color: #4d6066
}

html.dark-mode .custom-switch .custom-control-label::after {
  background-color: #c5d1d3
}

html.dark-mode .custom-switch .custom-control-input:disabled~.custom-control-label {
  opacity: .4
}

html.dark-mode .custom-switch .custom-control-input:checked~.custom-control-label::before {
  background-color: #006a9d
}

html.dark-mode .custom-switch .custom-control-input:checked~.custom-control-label::after {
  background-color: #c5d1d3
}

html.dark-mode input:disabled,
html.dark-mode select:disabled {
  opacity: .5
}

html.dark-mode .multi-input:not(.is-invalid)>.content {
  border-color: #7c949c
}

html.dark-mode .multi-input:not(.is-invalid)>.content.focused {
  border-color: #37beff
}

html.dark-mode .input-group-text {
  color: #c5d1d3;
  background-color: #374549;
  border-color: #7c949c
}

html.dark-mode .input-group a:focus {
  border-color: #37beff;
  box-shadow: 0 0 0 .2rem rgba(55, 190, 255, .25);
  z-index: 1
}

html.dark-mode .form-control-plaintext {
  color: unset
}

html.dark-mode .recipient-input.focus {
  color: #e2e7e9;
  background-color: #2c373b;
  border-color: #37beff
}

html.dark-mode .recipient-input a.button.icon,
html.dark-mode .recipient-input input {
  color: #c5d1d3
}

html.dark-mode .recipient-input .recipient {
  background-color: #374549;
  border-color: #7c949c
}

html.dark-mode .file-upload {
  border-color: #4d6066
}

html.dark-mode .file-upload:after {
  mix-blend-mode: soft-light
}

html.dark-mode .file-upload.droptarget.active {
  border-color: #c5d1d3
}

html.dark-mode .file-upload.droptarget.hover {
  border-color: #c5d1d3;
  background-color: #374549
}

html.dark-mode .file-upload .attachmentslist {
  background: 0 0
}

html.dark-mode .image-upload {
  background-color: #374549
}

html.dark-mode .image-upload a.button {
  background-color: rgba(33, 41, 44, .25)
}

html.dark-mode .formcontent.raweditor .CodeMirror {
  color: #c5d1d3;
  background-color: #21292c;
  border-color: #7c949c
}

html.dark-mode .formcontent.raweditor .CodeMirror-focused {
  background-color: #2c373b;
  border-color: #37beff
}

html.dark-mode .CodeMirror-line::selection,
html.dark-mode .CodeMirror-line>span::selection,
html.dark-mode .CodeMirror-line>span>span::selection,
html.dark-mode .CodeMirror-selected {
  background: #374549
}

html.dark-mode .CodeMirror-gutters {
  background-color: #212a2c;
  border: 0
}

html.dark-mode .CodeMirror-activeline-background {
  background: #374549
}

html.dark-mode .skinselection .skinthumbnail {
  border-color: #7c949c;
  background: 0 0
}

html.dark-mode .html-editor .editor-toolbar {
  background-color: #374549;
  border-color: #7c949c
}

html.dark-mode .html-editor .editor-toolbar .mce-i-html {
  color: unset
}

html.dark-mode .html-editor .editor-toolbar .mce-i-html:focus,
html.dark-mode .html-editor .editor-toolbar .mce-i-html:hover {
  background-color: #586e75;
  border-color: transparent
}

html.dark-mode .tox.tox-tinymce {
  border-color: #7c949c
}

html.dark-mode .tox .tox-toolbar {
  background-color: #374549;
  border-color: #7c949c
}

html.dark-mode .tox .tox-toolbar-overlord>div {
  background: #1e2429;
  background-color: #1e2429;
}

html.dark-mode .tox .tox-pop.tox-pop--top:after,
html.dark-mode .tox .tox-pop.tox-pop--top:before {
  border-bottom-color: #8b9fa7
}

html.dark-mode .tox .tox-pop__dialog {
  box-shadow: none;
  border-color: #8b9fa7
}

html.dark-mode .tox .tox-split-button,
html.dark-mode .tox .tox-swatches__picker-btn,
html.dark-mode .tox .tox-tbtn {
  color: #c5d1d3
}

html.dark-mode .tox .tox-split-button svg,
html.dark-mode .tox .tox-swatches__picker-btn svg,
html.dark-mode .tox .tox-tbtn svg {
  fill: #c5d1d3 !important
}

html.dark-mode .tox .tox-split-button:focus,
html.dark-mode .tox .tox-split-button:hover,
html.dark-mode .tox .tox-swatches__picker-btn:focus,
html.dark-mode .tox .tox-swatches__picker-btn:hover,
html.dark-mode .tox .tox-tbtn:focus,
html.dark-mode .tox .tox-tbtn:hover {
  color: #c5d1d3;
  background: #586e75;
  box-shadow: none
}

html.dark-mode .tox .tox-tbtn--enabled {
  background: #586e75
}

html.dark-mode .tox .tox-button--naked.tox-button--icon:hover:not(:disabled),
html.dark-mode .tox .tox-button--naked:focus:not(:disabled) {
  color: #d4ddde;
  background-color: #586e75;
  border-color: transparent
}

html.dark-mode .tox .tox-button--naked:disabled {
  background: 0 0;
  border: transparent
}

html.dark-mode .tox .tox-dialog__header .tox-button--naked:hover {
  background: 0 0 !important
}

html.dark-mode .tox .tox-selectfield select {
  background: 0 0;
  color: #c5d1d3
}

html.dark-mode .tox .tox-selectfield svg {
  fill: #c5d1d3
}

html.dark-mode .tox .tox-color-input span::before {
  background-color: #c5d1d3
}

html.dark-mode .tox .tox-toolbar__group:not(:last-of-type) {
  border-color: #7c949c
}

html.dark-mode .tox .tox-dialog,
html.dark-mode .tox .tox-dialog__body,
html.dark-mode .tox .tox-dialog__footer,
html.dark-mode .tox .tox-dialog__header,
html.dark-mode .tox .tox-dialog__title {
  color: #c5d1d3;
  border-color: #4d6066;
  background-color: #21292c
}

html.dark-mode .tox .tox-button--naked,
html.dark-mode .tox .tox-color-input>input,
html.dark-mode .tox .tox-dialog__body-nav-item,
html.dark-mode .tox .tox-dialog__header .tox-button,
html.dark-mode .tox .tox-insert-table-picker__label,
html.dark-mode .tox .tox-label,
html.dark-mode .tox .tox-textfield {
  color: #c5d1d3
}

html.dark-mode .tox .tox-dialog__footer .tox-button {
  background-color: #006a9d;
  color: #e2e8e9
}

html.dark-mode .tox .tox-dialog__footer .tox-button:disabled {
  opacity: .5
}

@media screen and (max-width:480px) {
  html.dark-mode .tox .tox-dialog__footer .tox-button {
    color: #c5d1d3 !important
  }
}

html.dark-mode .tox .tox-dialog__footer .tox-button:focus:not(:disabled) {
  background-color: #006a9d
}

html.dark-mode .tox .tox-dialog__footer .tox-button:hover:not(:disabled) {
  background-color: #007bb7
}

html.dark-mode .tox .tox-dialog__footer .tox-button.tox-button--secondary {
  background-color: #4d6066;
  color: #e2e8e9
}

html.dark-mode .tox .tox-dialog__footer .tox-button.tox-button--secondary:focus:not(:disabled) {
  background-color: #4d6066
}

html.dark-mode .tox .tox-dialog__footer .tox-button.tox-button--secondary:hover:not(:disabled) {
  background-color: #586e75
}

html.dark-mode .tox .tox-dialog__body-nav-item--active {
  color: #37beff
}

html.dark-mode .tox .tox-dialog-wrap__backdrop {
  background-color: rgba(0, 0, 0, .7)
}

html.dark-mode .tox .tox-menu {
  background-color: #161b1d;
  border-color: #8b9fa7;
  box-shadow: none
}

html.dark-mode .tox .tox-collection__item-caret svg {
  fill: #c5d1d3
}

html.dark-mode .tox .tox-collection__item {
  color: #c5d1d3
}

html.dark-mode .tox .tox-collection__item:not(:last-child) {
  border-bottom: 1px solid #2c373a
}

html.dark-mode .tox .tox-collection--grid .tox-collection__item {
  border: 0
}

html.dark-mode .tox .tox-collection__item--active,
html.dark-mode .tox .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
  color: #c5d1d3;
  background-color: #374549
}

html.dark-mode .tox .tox-collection__item--enabled {
  color: #37beff;
  background-color: #374549
}

html.dark-mode .message-part {
  border-color: #4d6066
}

html.dark-mode .message-part blockquote {
  background-color: #21292c;
  border-color: #6acfff;
  color: #6acfff
}

html.dark-mode .message-part blockquote span.blockquote-link {
  color: currentColor;
  background: #21292c;
  border-color: currentColor
}

html.dark-mode .message-part blockquote blockquote {
  color: #64c86b;
  border-color: #64c86b
}

html.dark-mode .message-part blockquote blockquote blockquote {
  color: #ff8785;
  border-color: #ff8785
}

html.dark-mode .message-part span.sig {
  color: #8ba3a7
}

html.dark-mode .message-htmlpart {
  background-color: #fff;
  color: #2c363a;
  padding: 0;
  margin-top: .5rem
}

html.dark-mode #message-header .header-headers .header-title {
  color: #c5d1d3;
  font-weight: 400
}

html.dark-mode .message-partheaders {
  background-color: #374549;
  border: 0
}

html.dark-mode .message-partheaders table.headers-table {
  color: #c5d1d3
}

html.dark-mode .message-partheaders table.headers-table * {
  font-weight: 400
}

html.dark-mode p.image-attachment {
  border-color: #4d6066;
  background-color: #374549
}

html.dark-mode p.image-attachment span {
  color: #8ba3a7
}

html.dark-mode fieldset.image-attachment legend {
  color: #8ba3a7;
  border-color: #4d6066
}

html.dark-mode #messagepartframe {
  background: #fff
}

html.dark-mode .ui-widget {
  border-color: #4d6066
}

html.dark-mode .ui-widget-overlay {
  background-color: rgba(0, 0, 0, .7)
}

html.dark-mode .ui-widget-content,
html.dark-mode .ui-widget-header {
  background-color: #21292c
}

html.dark-mode .ui-dialog .ui-dialog-titlebar {
  border-color: #4d6066
}

html.dark-mode .ui-dialog .ui-dialog-title,
html.dark-mode .ui-dialog .ui-dialog-titlebar-close {
  color: #c5d1d3;
  background: 0 0
}

html.dark-mode .ui-dialog .ui-dialog-buttonpane {
  border-color: #4d6066
}

html.dark-mode .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link {
  color: #c5d1d3
}

html.dark-mode .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset a.btn-link:focus {
  background: 0 0
}

@media screen and (max-width:480px) {

  html.dark-mode .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-primary:not(.btn-danger),
  html.dark-mode .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset button.btn-secondary {
    color: #c5d1d3
  }
}

html.dark-mode .ui-datepicker .ui-datepicker-header {
  border-color: #4d6066
}

html.dark-mode .ui-datepicker th {
  color: #8ba3a7;
  font-size: 80%;
  font-weight: 400
}

html.dark-mode .ui-datepicker .ui-datepicker-next,
html.dark-mode .ui-datepicker .ui-datepicker-prev,
html.dark-mode .ui-datepicker .ui-state-default,
html.dark-mode .ui-datepicker.ui-widget-content .ui-state-default {
  color: #c5d1d3
}

html.dark-mode .ui-datepicker .ui-state-highlight,
html.dark-mode .ui-datepicker.ui-widget-content .ui-state-highlight {
  color: #37beff;
  background-color: #374549
}

html.dark-mode .ui-datepicker .ui-datepicker-days-cell-over a {
  background-color: #4d6066
}

html.dark-mode .ui-menu {
  background-color: #161b1d;
  border-color: #8b9fa7;
  box-shadow: none
}

html.dark-mode .ui-menu .ui-menu-item {
  border-bottom: 1px solid #2c373a
}

html.dark-mode .ui-menu .ui-state-active {
  background-color: #374549 !important
}

html.dark-mode .minicolors-panel {
  box-shadow: none;
  border-color: #4d6066;
  background: #161b1d
}

html.dark-mode #contacthead.readonly .source.row,
html.dark-mode #login-footer,
html.dark-mode .contactlist span.email,
html.dark-mode .file-upload .hint,
html.dark-mode .formcontent .hint,
html.dark-mode .listing span.secondary,
html.dark-mode .listing-info,
html.dark-mode ::-webkit-input-placeholder,
html.dark-mode ::placeholder {
  font-weight: 400;
  color: #8ba3a7
}

html.dark-mode .popover {
  background-color: #161b1d;
  border-color: #8b9fa7;
  box-shadow: none
}

html.dark-mode .popover .menu li.separator {
  background-color: transparent;
  color: #8ba3a7
}

html.dark-mode .popover .menu ul+li.separator {
  border-top: 1px solid #2c373a
}

html.dark-mode .popover-body {
  color: #c5d1d3
}

html.dark-mode .bs-popover-auto[x-placement^=right]>.arrow::after,
html.dark-mode .bs-popover-right>.arrow::after {
  border-right-color: #8b9fa7
}

html.dark-mode .bs-popover-auto[x-placement^=left]>.arrow::after,
html.dark-mode .bs-popover-left>.arrow::after {
  border-left-color: #8b9fa7
}

html.dark-mode .bs-popover-auto[x-placement^=top]>.arrow::after,
html.dark-mode .bs-popover-top>.arrow::after {
  border-top-color: #8b9fa7
}

html.dark-mode .bs-popover-auto[x-placement^=bottom]>.arrow::after,
html.dark-mode .bs-popover-bottom>.arrow::after {
  border-bottom-color: #8b9fa7
}

html.dark-mode .listing-hover-menu {
  background-color: #161b1d;
  border-color: #4d6066;
  box-shadow: 0 0 5px #000
}

html.dark-mode .listing-hover-menu a.button {
  color: #c5d1d3
}

html.dark-mode .listing-hover-menu a.button:hover {
  background: 0 0
}

html.dark-mode .listing-hover-menu span.txt {
  color: #8ba3a7
}

html.dark-mode .nav-tabs {
  border-color: #4d6066
}

html.dark-mode .nav-tabs .nav-link {
  color: #c5d1d3;
  border-color: transparent;
  border-bottom-color: #4d6066
}

html.dark-mode .nav-tabs .nav-link:hover {
  background: #21292c;
  border-color: #4d6066;
  color: #c5d1d3
}

html.dark-mode .nav-tabs .nav-link.active {
  background: #21292c;
  border-color: #4d6066;
  border-bottom-color: transparent;
  color: #fff
}

html.dark-mode .table {
  color: #c5d1d3
}

html.dark-mode .table td,
html.dark-mode .table th,
html.dark-mode .table thead th {
  border-color: #4d6066
}

html.dark-mode .table-widget {
  border-color: #4d6066
}

html.dark-mode .table-widget>.footer {
  border-color: #4d6066
}

html.dark-mode .table-widget table.options-table tr:last-child td {
  border-color: #4d6066
}

html.dark-mode .table-widget table.options-table tr.selected td {
  background-color: #374549;
  color: #c5d1d3
}

html.dark-mode #rcmdraglayer {
  background-color: #161b1d;
  border: 1px solid #8b9fa7;
  box-shadow: none;
  color: #c5d1d3
}

html.dark-mode .quota-widget {
  color: unset
}

html.dark-mode .quota-widget .bar {
  border-color: #4d6066;
  background-color: #4d6066
}

html.dark-mode .quota-info .root {
  color: #8ba3a7;
  background-color: transparent
}

html.dark-mode #contactpic,
html.dark-mode img.contactphoto {
  background-color: #374549 !important
}

html.dark-mode .pgpkeyimport div.key.disabled,
html.dark-mode .pgpkeyimport div.key.revoked {
  color: #637e82
}

html.dark-mode .pgpkeyimport li.uid::before {
  opacity: 1
}

/* -- GMAIL CUSTOM STYLES & OVERRIDES ----------------------------------- */
/* =========================================================================
   1. DESIGN TOKENS (LIGHT & DARK MODES)
========================================================================= */
:root {
  --g-bg: #ffffff;
  --g-surface: #ffffff;
  --g-sidebar-bg: #ffffff;
  --g-header-bg: #ffffff;
  --g-border: #e8eaed;
  --g-border-light: #f1f3f4;
  --g-text: #202124;
  --g-text-dim: #5f6368;
  --g-hover: #f1f3f4;
  --g-blue: #1a73e8;
  --g-blue-active: #e8f0fe;
  --g-folder-active-bg: #ffe9ec;
  --g-folder-active-txt: #b0263b;
  --g-search-bg: #f1f3f4;
  --g-search-txt: #202124;
  --g-compose-bg: #ffffff;
  --g-compose-txt: #3c4043;
  --g-compose-border: #dadce0;
  --g-compose-shadow: 0 1px 2px 0 rgba(60, 64, 67, .3), 0 1px 3px 1px rgba(60, 64, 67, .15);
  --g-quota-bg: #e8eaed;
  --g-quota-bar: #4285f4;
  --g-unread-subject: #ff5552;
}

html.dark-mode,
body.dark-mode,
.dark-mode {
  --g-bg: #1e252b !important;
  --g-surface: #1e252b !important;
  --g-sidebar-bg: #161c22 !important;
  --g-header-bg: #161c22 !important;
  --g-border: #28323a !important;
  --g-border-light: #212930 !important;
  --g-text: #e1e3e6 !important;
  --g-text-dim: #9aa0a6 !important;
  --g-hover: #263038 !important;
  --g-blue: #8ab4f8 !important;
  --g-blue-active: #1e3a5f !important;
  --g-folder-active-bg: #3d2527 !important;
  --g-folder-active-txt: #ff5552 !important;
  --g-search-bg: #161c22 !important;
  --g-search-txt: #e1e3e6 !important;
  --g-compose-bg: #263038 !important;
  --g-compose-txt: #e1e3e6 !important;
  --g-compose-border: #3a4650 !important;
  --g-compose-shadow: 0 1px 3px 0 rgba(0, 0, 0, .6), 0 2px 6px 2px rgba(0, 0, 0, .4) !important;
  --g-quota-bg: #28323a !important;
  --g-quota-bar: #388af6 !important;
  --g-unread-subject: #ff5552 !important;
}


/* =========================================================================
   2. GLOBAL RESET & VIEWPORT (MAIN APPLICATION)
========================================================================= */
html:not(.iframe),
body:not(.iframe):not(.action-preview) {
  margin: 0 !important;
  padding: 0 !important;
  height: 100vh !important;
  max-height: 100vh !important;
  width: 100vw !important;
  max-width: 100vw !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background-color: var(--g-bg) !important;
  color: var(--g-text) !important;
}

.voice {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  pointer-events: none !important;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
.popover,
button,
input,
optgroup,
select,
textarea {
  font-family: 'Roboto', 'Google Sans', -apple-system, BlinkMacSystemFont,
    'Segoe UI', Arial, sans-serif !important;
  color: var(--g-text) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6,
.header-title,
.subject {
  font-family: 'Google Sans', 'Roboto', sans-serif !important;
  margin: 0;
}

a {
  color: var(--g-blue) !important;
  text-decoration: none !important;
}

a:hover {
  color: var(--g-blue) !important;
}

/* Thin scrollbars */
::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

::-webkit-scrollbar-track {
  background: transparent !important;
}

::-webkit-scrollbar-thumb {
  background: #dadce0 !important;
  border-radius: 3px !important;
}

::-webkit-scrollbar-thumb:hover {
  background: #bdc1c6 !important;
}

.dark-mode ::-webkit-scrollbar-thumb {
  background: #388af6 !important;
}

.dark-mode ::-webkit-scrollbar-thumb:hover {
  background: #5ba3ff !important;
}


/* =========================================================================
   3. FIXED 100VH 4-COLUMN FLEX LAYOUT (MAIN APP)
========================================================================= */
#layout {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  height: 100vh !important;
  max-height: 100vh !important;
  width: 100vw !important;
  max-width: 100vw !important;
  overflow: hidden !important;
  background: var(--g-bg) !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  z-index: 1 !important;
}

/* -- Sidebar & Message List (Desktop ONLY) ---------------------------- */
@media screen and (min-width: 769px) {
  #layout>#layout-sidebar {
    order: 2 !important;
    flex: 0 0 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
    width: 210px !important;
    height: 100vh !important;
    max-height: 100vh !important;
    background: var(--g-sidebar-bg) !important;
    border-right: 1px solid var(--g-border) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  #layout>#layout-list {
    order: 3 !important;
    display: flex !important;
    /* Always keep visible in inbox view */
    height: 100vh !important;
    max-height: 100vh !important;
    background: var(--g-bg) !important;
    border-right: 1px solid var(--g-border) !important;
    overflow: hidden !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    transition: width 0.2s ease, flex-basis 0.2s ease !important;
  }
}

/* Default state: full-width message list across the screen (Mail Task ONLY - Desktop) */
@media screen and (min-width: 769px) {
  body.task-mail #layout:not(.has-message-open)>#layout-list,
  body.mail #layout:not(.has-message-open)>#layout-list {
    flex: 1 1 auto !important;
    width: calc(100vw - 210px - 48px) !important;
    max-width: none !important;
    min-width: 0 !important;
  }
}

body.task-mail:not(.action-compose):not(.action-show):not(.action-preview):not(.extwin):not(.action-get) #layout:not(.has-message-open)>#layout-content,
body.mail:not(.action-compose):not(.action-show):not(.action-preview):not(.extwin):not(.action-get) #layout:not(.has-message-open)>#layout-content {
  display: none !important;
}

/* Standalone Single Message View (action-show / popup window / attachment preview) */
body.action-show #layout,
body.action-show #layout>#layout-content,
body.action-get #layout,
body.action-get #layout>#layout-content,
body.extwin #layout,
body.extwin #layout>#layout-content {
  display: flex !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100vh !important;
}

body.action-show #layout-sidebar,
body.action-show #layout-list,
body.action-get #layout-sidebar,
body.action-get #layout-list,
body.action-get #layout>#layout-sidebar,
body.action-get #layout>#layout-list,
body.extwin #layout-sidebar,
body.extwin #layout-list {
  display: none !important;
}

body.action-get #layout-content .iframe-wrapper,
body.action-get #messagepartframe {
  width: 100% !important;
  height: 100% !important;
  min-height: calc(100vh - 56px) !important;
  border: none !important;
}

/* Message open state: split view with active preview pane (Desktop ONLY) */
@media screen and (min-width: 769px) {
  body.task-mail #layout.has-message-open>#layout-list,
  body.mail #layout.has-message-open>#layout-list {
    flex: 0 0 380px !important;
    width: 380px !important;
    min-width: 340px !important;
    max-width: 440px !important;
    overflow-x: hidden !important;
  }
}

/* ==========================================================================
   Clean 2-Line Split View Message List (Matches Reference)
   ========================================================================== */

#layout.has-message-open #messagelist-content {
  display: block !important;
  height: auto !important;
  max-height: 100vh !important;
  overflow-y: auto !important;
}

#layout.has-message-open #messagelist,
#layout.has-message-open .messagelist {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  table-layout: fixed !important;
}

#layout.has-message-open #messagelist tbody,
#layout.has-message-open .messagelist tbody {
  display: block !important;
  height: auto !important;
  width: 100% !important;
}

#messagelist tbody tr[style*="display: none"],
#messagelist tbody tr.deleted,
.messagelist tbody tr[style*="display: none"],
.messagelist tbody tr.deleted {
  display: none !important;
}

#layout.has-message-open #messagelist tbody tr:not([style*="display: none"]):not(.deleted),
#layout.has-message-open .messagelist tbody tr:not([style*="display: none"]):not(.deleted) {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 8px 16px !important;
  width: 100% !important;
  height: 54px !important;
  min-height: 54px !important;
  max-height: 54px !important;
  box-sizing: border-box !important;
  position: relative !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
  background: transparent !important;
  cursor: pointer !important;
  overflow: hidden !important;
}

#layout.has-message-open #messagelist tbody tr:hover,
#layout.has-message-open .messagelist tbody tr:hover {
  background: rgba(0, 0, 0, 0.03) !important;
}

#layout.has-message-open #messagelist tbody tr.gmail-message-active,
#layout.has-message-open .messagelist tbody tr.gmail-message-active,
#messagelist tbody tr.gmail-message-active,
.messagelist tbody tr.gmail-message-active {
  background: #c2e7ff !important;
  border-left: 4px solid #0b57d0 !important;
}

#layout.has-message-open #messagelist tbody tr.selected:not(.gmail-message-active),
#layout.has-message-open .messagelist tbody tr.selected:not(.gmail-message-active),
#messagelist tbody tr.selected:not(.gmail-message-active),
.messagelist tbody tr.selected:not(.gmail-message-active) {
  background: #c2e7ff !important;
  border-left: 4px solid transparent !important;
}

html.dark-mode #layout.has-message-open #messagelist tbody tr.gmail-message-active,
html.dark-mode #layout.has-message-open .messagelist tbody tr.gmail-message-active,
html.dark-mode #messagelist tbody tr.gmail-message-active,
html.dark-mode .messagelist tbody tr.gmail-message-active {
  background: #004a77 !important;
  border-left: 4px solid #7cacf8 !important;
}

html.dark-mode #layout.has-message-open #messagelist tbody tr.selected:not(.gmail-message-active),
html.dark-mode #layout.has-message-open .messagelist tbody tr.selected:not(.gmail-message-active),
html.dark-mode #messagelist tbody tr.selected:not(.gmail-message-active),
html.dark-mode .messagelist tbody tr.selected:not(.gmail-message-active) {
  background: #004a77 !important;
  border-left: 4px solid transparent !important;
}

/* Hide checkbox and extra columns in split preview mode */
#layout.has-message-open #messagelist tbody tr td.threads,
#layout.has-message-open #messagelist tbody tr td.selection,
#layout.has-message-open #messagelist tbody tr td.flag,
#layout.has-message-open #messagelist tbody tr td.flags,
#layout.has-message-open #messagelist tbody tr td.size,
#layout.has-message-open #messagelist tbody tr td.attachment,
#layout.has-message-open #messagelist tbody tr td.status {
  display: none !important;
}

/* Main cell containing From, Subject, Date */
#layout.has-message-open #messagelist tbody tr td.subject {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Line 1: Sender Name (From) - Default light for Read */
#layout.has-message-open #messagelist tbody tr td.subject span.fromto,
#layout.has-message-open .messagelist tr td.subject span.fromto {
  display: block !important;
  width: auto !important;
  max-width: calc(100% - 90px) !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  font-weight: 400 !important;
  font-size: 13.5px !important;
  color: var(--g-text-dim, #5f6368) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Line 1 (Right): Timestamp - Default light for Read */
#layout.has-message-open #messagelist tbody tr td.subject span.date,
#layout.has-message-open .messagelist tr td.subject span.date {
  display: block !important;
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  width: auto !important;
  font-size: 11.5px !important;
  font-weight: 400 !important;
  color: var(--g-text-dim, #5f6368) !important;
  white-space: nowrap !important;
  text-align: right !important;
  line-height: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Line 2: Subject - Default light for Read */
#layout.has-message-open #messagelist tbody tr td.subject span.subject,
#layout.has-message-open .messagelist tr td.subject span.subject {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
  color: var(--g-text-dim, #5f6368) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 18px !important;
  height: 18px !important;
  margin-top: 2px !important;
  padding: 0 !important;
}

#layout.has-message-open #messagelist tbody tr td.subject span.subject a,
#layout.has-message-open .messagelist tr td.subject span.subject a {
  color: inherit !important;
  font-weight: inherit !important;
  text-decoration: none !important;
  display: inline !important;
  width: auto !important;
}

#layout.has-message-open #messagelist tbody tr td.subject span.subject a .gmail-subject-text,
#layout.has-message-open .messagelist tr td.subject span.subject a .gmail-subject-text {
  color: inherit !important;
  font-weight: inherit !important;
  font-size: 12.5px !important;
  display: inline !important;
  white-space: nowrap !important;
}

#layout.has-message-open #messagelist tbody tr td.subject span.subject a > span:not(.gmail-subject-text):not(.gmail-snippet),
#layout.has-message-open .messagelist tr td.subject span.subject a > span:not(.gmail-subject-text):not(.gmail-snippet),
#messagelist tbody tr td.subject span.subject a > span:not(.gmail-subject-text):not(.gmail-snippet),
.messagelist tr td.subject span.subject a > span:not(.gmail-subject-text):not(.gmail-snippet) {
  display: none !important;
}

#layout.has-message-open #messagelist tbody tr td.subject span.subject a .gmail-snippet {
  display: none !important;
}

/* Unread Messages in Split Preview: Bold & Dark */
#layout.has-message-open #messagelist tbody tr.unread td.subject span.fromto,
#layout.has-message-open .messagelist tr.unread td.subject span.fromto {
  font-weight: 700 !important;
  color: var(--g-text, #202124) !important;
}

#layout.has-message-open #messagelist tbody tr.unread td.subject span.date,
#layout.has-message-open .messagelist tr.unread td.subject span.date {
  font-weight: 700 !important;
  color: var(--g-text, #202124) !important;
}

#layout.has-message-open #messagelist tbody tr.unread td.subject span.subject,
#layout.has-message-open .messagelist tr.unread td.subject span.subject,
#layout.has-message-open #messagelist tbody tr.unread td.subject span.subject a,
#layout.has-message-open #messagelist tbody tr.unread td.subject span.subject a span,
#layout.has-message-open #messagelist tbody tr.unread td.subject span.subject a .gmail-subject-text {
  font-weight: 700 !important;
  color: var(--g-text, #202124) !important;
}

/* Dark Mode for Split Preview Read / Unread */
html.dark-mode #layout.has-message-open #messagelist tbody tr.unread td.subject span.fromto,
html.dark-mode #layout.has-message-open .messagelist tr.unread td.subject span.fromto,
html.dark-mode #layout.has-message-open #messagelist tbody tr.unread td.subject span.date,
html.dark-mode #layout.has-message-open .messagelist tr.unread td.subject span.date,
html.dark-mode #layout.has-message-open #messagelist tbody tr.unread td.subject span.subject,
html.dark-mode #layout.has-message-open .messagelist tr.unread td.subject span.subject,
html.dark-mode #layout.has-message-open #messagelist tbody tr.unread td.subject span.subject a,
html.dark-mode #layout.has-message-open #messagelist tbody tr.unread td.subject span.subject a span,
html.dark-mode #layout.has-message-open #messagelist tbody tr.unread td.subject span.subject a .gmail-subject-text {
  color: #e8eaed !important;
}

html.dark-mode #layout.has-message-open #messagelist tbody tr:not(.unread) td.subject span.fromto,
html.dark-mode #layout.has-message-open .messagelist tr:not(.unread) td.subject span.fromto,
html.dark-mode #layout.has-message-open #messagelist tbody tr:not(.unread) td.subject span.date,
html.dark-mode #layout.has-message-open .messagelist tr:not(.unread) td.subject span.date,
html.dark-mode #layout.has-message-open #messagelist tbody tr:not(.unread) td.subject span.subject,
html.dark-mode #layout.has-message-open .messagelist tr:not(.unread) td.subject span.subject,
html.dark-mode #layout.has-message-open #messagelist tbody tr:not(.unread) td.subject span.subject a,
html.dark-mode #layout.has-message-open #messagelist tbody tr:not(.unread) td.subject span.subject a span,
html.dark-mode #layout.has-message-open #messagelist tbody tr:not(.unread) td.subject span.subject a .gmail-subject-text {
  color: #9aa0a6 !important;
}

/* Hide extra chips/icons and hover action pills on split preview */
#layout.has-message-open #messagelist tbody tr td.subject .gmail-attachment-chip,
#layout.has-message-open #messagelist tbody tr td.subject .gmail-attachment-chips,
#layout.has-message-open #messagelist tbody tr td.subject span.size,
#layout.has-message-open #messagelist tbody tr td.subject span.msgicon,
#layout.has-message-open #messagelist tbody tr td.subject .gmail-quick-actions,
#layout.has-message-open .listing-hover-menu,
#layout.has-message-open #messagelist tbody tr:hover .listing-hover-menu {
  display: none !important;
}

/* -- Content / reading / preview pane ---------------------------------- */
#layout>#layout-content {
  order: 4 !important;
  flex: 1 1 auto !important;
  height: 100vh !important;
  max-height: 100vh !important;
  background: var(--g-bg) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
}

/* -- Login / Logout Page (Full Screen Centered) ------------------------ */
body.task-login #layout,
body.action-login #layout,
body.action-logout #layout,
body.login #layout {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100vw !important;
  height: 100vh !important;
}

body.task-login #layout>#layout-content,
body.action-login #layout>#layout-content,
body.action-logout #layout>#layout-content,
body.task-logout #layout>#layout-content,
body.login #layout>#layout-content {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
  background-color: transparent !important;
}

#layout-content.no-navbar {
  background: transparent;
}

/* Back to inbox button in preview header */
.close-preview-btn,
.back-list-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  color: var(--g-text-dim) !important;
  background: transparent !important;
  text-decoration: none !important;
  font-size: 0 !important;
  border: none !important;
  cursor: pointer !important;
  margin-right: 6px !important;
  transition: background 0.15s, color 0.15s !important;
}

.close-preview-btn:hover,
.back-list-button:hover {
  background: var(--g-hover) !important;
  color: var(--g-text) !important;
}

.close-preview-btn::before,
.back-list-button::before {
  content: "\f060" !important;
  /* fa-arrow-left */
  font-family: 'Font Awesome 5 Free', 'Icons', sans-serif !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.close-preview-btn .inner,
.back-list-button .inner {
  display: none !important;
}

/* -- Left rail navigation strip (Contacts, Apps, Mail, Settings) ----- */
#layout>#layout-menu {
  order: 1 !important;
  flex: 0 0 52px !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 100vh !important;
  max-height: 100vh !important;
  background: var(--g-sidebar-bg) !important;
  border-right: 1px solid var(--g-border) !important;
  border-left: none !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  position: relative !important;
  z-index: 100 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}


/* =========================================================================
   4. TOP BAR - HIGH-SPECIFICITY 48PX ROW & VERTICALLY LOWERED TOOLBARS
========================================================================= */
html body #layout #layout-sidebar>.header,
html body #layout #layout-content>.header,
html body #layout #layout-menu .popover-header {
  height: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
  line-height: 48px !important;
  background: var(--g-header-bg) !important;
  background-color: var(--g-header-bg) !important;
  border-bottom: 1px solid var(--g-border) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  position: relative !important;
  top: 0 !important;
  flex-shrink: 0 !important;
}

@media screen and (min-width: 769px) {
  html body #layout #layout-list>.header,
  html body #layout #messagelist-header {
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    line-height: 48px !important;
    background: var(--g-header-bg) !important;
    background-color: var(--g-header-bg) !important;
    border-bottom: 1px solid var(--g-border) !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    position: relative !important;
    top: 0 !important;
    flex-shrink: 0 !important;
  }
}

/* -- 4a. Sidebar Header: account chip + 3-dots ------------------------- */
html body #layout #layout-sidebar>.header {
  justify-content: space-between !important;
  padding: 0 14px !important;
}

html body #layout #layout-sidebar>.header .header-title.username,
html body #layout #layout-sidebar>.header .header-title {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--g-text) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  align-items: center !important;
  text-align: left !important;
}

html body #layout #layout-sidebar>.header a.button.sidebar-menu,
html body #layout #layout-sidebar>.header a.sidebar-menu {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0 !important;
  align-self: center !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  line-height: 32px !important;
  color: var(--g-text-dim) !important;
  float: none !important;
}

html body #layout #layout-sidebar>.header a.button.sidebar-menu::before,
html body #layout #layout-sidebar>.header a.sidebar-menu::before {
  content: "\f142" !important;
  /* fa-ellipsis-v */
  font-size: 16px !important;
  line-height: 16px !important;
  margin: 0 auto !important;
}

html body #layout #layout-sidebar>.header a.button.sidebar-menu .inner,
html body #layout #layout-sidebar>.header a.sidebar-menu .inner {
  display: none !important;
}

/* -- 4b. List Pane Header & Content Pane Header Toolbars -- */
@media screen and (min-width: 769px) {
  html body #layout #messagelist-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 16px !important;
    text-align: left !important;
    position: relative !important;
    box-sizing: border-box !important;
  }
}

html body #layout #layout-content>.header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 16px !important;
  text-align: left !important;
  position: relative !important;
  box-sizing: border-box !important;
}

/* Toolbars inside headers */
@media screen and (min-width: 769px) {
  html body #layout #messagelist-header .toolbar,
  html body #layout #messagelist-header #toolbar-list-menu,
  html body #layout #layout-list>.header .toolbar,
  html body #layout #layout-list>.header #toolbar-list-menu {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    line-height: 32px !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    float: none !important;
    list-style: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}

html body #layout #layout-content>.header .toolbar,
html body #layout #layout-content>.header #toolbar-menu,
html body #layout #mailtoolbar {
  position: static !important;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  line-height: 32px !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  float: none !important;
  list-style: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

/* List header toolbar items stay left-aligned */
html body #layout #messagelist-header .toolbar a.options,
html body #layout #messagelist-header #toolbar-list-menu a.options,
html body #layout #layout-list>.header .toolbar a.options,
html body #layout #layout-list>.header #toolbar-list-menu a.options {
  margin-left: 0 !important;
}

/* List items inside toolbars */
html body #layout #messagelist-header .toolbar li,
html body #layout #messagelist-header #toolbar-list-menu li,
html body #layout #layout-list>.header .toolbar li,
html body #layout #layout-list>.header #toolbar-list-menu li,
html body #layout #layout-content>.header .toolbar li,
html body #layout #layout-content>.header #toolbar-menu li {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Action button styling */
html body #layout .header a,
html body #layout .header a.button,
html body #layout .header button,
html body #layout #messagelist-header .toolbar a,
html body #layout #messagelist-header #toolbar-list-menu a,
html body #layout #layout-content>.header .toolbar a,
html body #layout #layout-content>.header #toolbar-menu a,
html body #layout #mailtoolbar a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  line-height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--g-text-dim) !important;
  vertical-align: middle !important;
  align-self: center !important;
  position: relative !important;
  cursor: pointer !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

html body #layout .header a:hover,
html body #layout .header a.button:hover,
html body #layout .header button:hover {
  background: rgba(60, 64, 67, 0.08) !important;
  color: var(--g-text) !important;
}

html body #layout .header a.disabled,
html body #layout .header .dropbutton>a.disabled,
html body #layout .header button.disabled {
  opacity: 0.35 !important;
  pointer-events: none !important;
}

html body #layout .header .dropbutton {
  display: inline-flex !important;
  align-items: center !important;
  position: relative !important;
}

/* Hide detached carets on dropbuttons to prevent awkward extra buttons */
html body #layout .header .dropbutton>a.dropdown {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* Icons for all toolbar actions (using Roundcube Elastic icon font) */
html body #layout .header a::before,
html body #layout .header a.button::before {
  font-family: 'Icons' !important;
  font-style: normal !important;
  /* MUST stay 900: 16 of the 26 glyphs this skin uses exist ONLY in the
     fa-solid-900 face. 'Icons' also has a 400 face (fa-regular-400, 156
     glyphs) - at weight 400/normal those 16 render as empty boxes. */
  font-weight: 900 !important;
  font-size: 15px !important;
  line-height: 32px !important;
  display: inline-block !important;
}

html body #layout .header a.select::before {
  content: "\f14a" !important;
}

html body #layout .header a.select.gmail-styled::before,
html body #layout #toolbar-list-menu a.select.gmail-styled::before {
  display: none !important;
}

html body #layout .header a.select,
html body #layout #toolbar-list-menu a.select {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
  height: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  line-height: 28px !important;
  width: auto !important;
  min-width: 36px !important;
  max-width: none !important;
  padding: 0 6px !important;
  margin: 0 2px !important;
  text-decoration: none !important;
  color: var(--g-text-dim, #5f6368) !important;
  border-radius: 4px !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  font-size: 0 !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

html body #layout .header a.select:hover,
html body #layout #toolbar-list-menu a.select:hover {
  background-color: rgba(60, 64, 67, 0.08) !important;
  color: var(--g-text, #202124) !important;
}

html body #layout .header a.select .inner,
html body #layout #toolbar-list-menu a.select .inner {
  display: none !important;
}

html body #layout .header a.select .gmail-select-svgs,
html body #layout #toolbar-list-menu a.select .gmail-select-svgs {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  color: inherit !important;
}

html body #layout .header a.threads::before {
  content: "\f086" !important;
}

html body #layout #messagelist-header a.options::before {
  content: "\f0ad" !important;
}

html body #layout #layout-content a.options::before {
  content: "\f1de" !important;
}

html body #layout .header a.options::before {
  content: "\f0ad" !important;
}

html body #layout .header a.refresh::before {
  content: "\f2f1" !important;
}

html body #layout .header a.reply::before {
  content: "\f3e5" !important;
}

html body #layout .header a.reply-all::before {
  content: "\f122" !important;
}

html body #layout .header a.forward::before {
  content: "\f064" !important;
}

html body #layout .header a.delete::before {
  content: "\f2ed" !important;
}

html body #layout .header a.markmessage::before {
  content: "\f02b" !important;
}

html body #layout .header a.move::before {
  content: "\f07b" !important;
}

html body #layout .header a.more::before {
  content: "\f141" !important;
}

/* HIDE CLONED MOBILE BUTTONS THAT ELASTIC INSERTS INTO #toolbar-menu (CAUSES 3X DUPLICATION) */
#toolbar-menu li.hidden-big,
#toolbar-menu li.hidden-large,
#toolbar-menu a.hidden-big,
#toolbar-menu a.hidden-large,
#toolbar-menu [id$="_clone"],
#toolbar-menu li.spacer,
#toolbar-list-menu li.hidden-big,
#toolbar-list-menu li.hidden-large,
#toolbar-list-menu a.hidden-big,
#toolbar-list-menu a.hidden-large,
#toolbar-list-menu [id$="_clone"] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
}

/* Hide stray Elastic mobile menu launcher buttons & titles in desktop layout */
a.toolbar-menu-button,
a.toolbar-list-button,
button.toolbar-menu-button,
button.toolbar-list-button,
a.task-menu-button,
a.back-sidebar-button,
a.back-list-button,
#layout-list>.header a.task-menu-button,
#layout-list>.header a.back-sidebar-button,
#layout-list>.header a.back-list-button,
#layout-list>.header .header-title,
#messagelist-header .header-title,
#layout-content>.header .header-title,
#messagelist-header a.task-menu-button,
#messagelist-header a.back-sidebar-button {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* Back button in split view when a message is open */
#layout-content>.header a.close-preview-btn {
  display: none !important;
}

#layout.has-message-open #layout-content>.header a.close-preview-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  line-height: 32px !important;
  border-radius: 50% !important;
  color: var(--g-text-dim) !important;
  margin: 0 8px 0 0 !important;
  padding: 0 !important;
  position: static !important;
  cursor: pointer !important;
  order: -1 !important;
}

#layout.has-message-open #layout-content>.header a.close-preview-btn::before {
  display: none !important;
}

#layout.has-message-open #layout-content>.header a.close-preview-btn svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
}

#layout.has-message-open #layout-content>.header a.close-preview-btn .inner {
  display: none !important;
}

/* Keep the list toolbar identical when the preview pane is open. */
#layout.has-message-open #messagelist-header .toolbar,
#layout.has-message-open #messagelist-header #toolbar-list-menu {
  width: auto !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  justify-content: center !important;
}

#layout.has-message-open #messagelist-header .toolbar a.delete,
#layout.has-message-open #messagelist-header .toolbar a.markmessage,
#layout.has-message-open #messagelist-header .toolbar a.move,
#layout.has-message-open #messagelist-header .toolbar a.more,
#layout.has-message-open #toolbar-list-menu a.delete,
#layout.has-message-open #toolbar-list-menu a.markmessage,
#layout.has-message-open #toolbar-list-menu a.move,
#layout.has-message-open #toolbar-list-menu a.more {
  display: inline-flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
  width: 32px !important;
  min-width: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#layout.has-message-open #messagelist-header .toolbar a.options,
#layout.has-message-open #messagelist-header #toolbar-list-menu a.options {
  margin-left: 0 !important;
}

/* Universal centering for ALL action buttons inside any top bar header */
html body #layout .header a,
html body #layout .header a.button,
html body #layout .header button,
html body #layout #messagelist-header .toolbar a,
html body #layout #messagelist-header .toolbar a.button,
html body #layout #mailtoolbar a,
html body #layout #mailtoolbar button,
html body #layout #mailtoolbar a.button,
html body #layout #mailtoolbar .dropbutton,
html body #layout #mailtoolbar .dropbutton>a,
html body #layout #layout-content>.header a,
html body #layout #layout-content>.header a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  line-height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--g-text-dim) !important;
  vertical-align: middle !important;
  align-self: center !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  float: none !important;
  box-sizing: border-box !important;
  transition: background 0.15s, color 0.15s !important;
  cursor: pointer !important;
}

html body #layout .header a:hover,
html body #layout .header a.button:hover,
html body #layout #messagelist-header .toolbar a:hover,
html body #layout #mailtoolbar a:hover,
html body #layout #mailtoolbar .dropbutton:hover {
  background: var(--g-hover) !important;
  color: var(--g-text) !important;
}

html body #layout .header a::before,
html body #layout .header a.button::before,
html body #layout #messagelist-header .toolbar a::before,
html body #layout #messagelist-header .toolbar a.button::before,
html body #layout #mailtoolbar a::before,
html body #layout #mailtoolbar button::before,
html body #layout #mailtoolbar a.button::before,
html body #layout #mailtoolbar .dropbutton>a::before,
html body #layout #layout-content>.header a::before,
html body #layout #layout-content>.header a.button::before {
  font-size: 16px !important;
  line-height: 16px !important;
  height: 16px !important;
  width: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  text-align: center !important;
  vertical-align: middle !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  float: none !important;
  font-family: 'Font Awesome 5 Free', 'Icons', sans-serif !important;
  font-weight: 900 !important;
}

/* Dropdown Container (Reply-all & Forward with caret) */
html body #layout #mailtoolbar .dropbutton {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  line-height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  vertical-align: middle !important;
  align-self: center !important;
  transform: none !important;
}

html body #layout #mailtoolbar .dropbutton>a:not(.dropdown) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--g-text-dim) !important;
  background: transparent !important;
  font-size: 0 !important;
  line-height: 32px !important;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  align-self: center !important;
  transform: none !important;
}

html body #layout #mailtoolbar .dropbutton a.dropdown {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 14px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--g-text-dim) !important;
  background: transparent !important;
  font-size: 0 !important;
  line-height: 32px !important;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  align-self: center !important;
  transform: none !important;
}

html body #layout #mailtoolbar .dropbutton a.dropdown::before {
  content: "\f0d7" !important;
  /* fa-caret-down */
  font-family: 'Font Awesome 5 Free', 'Icons', sans-serif !important;
  font-weight: 900 !important;
  font-size: 11px !important;
  line-height: 11px !important;
  height: 11px !important;
  width: 11px !important;
  margin: 0 !important;
  color: var(--g-text-dim) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

html body #layout #mailtoolbar a.disabled,
html body #layout #mailtoolbar .dropbutton>a.disabled {
  opacity: 0.35 !important;
  pointer-events: none !important;
}

/* Mailtoolbar Icons */
html body #layout #mailtoolbar a.reply::before {
  content: "\f3e5" !important;
}

html body #layout #mailtoolbar a.reply-all::before {
  content: "\f122" !important;
}

html body #layout #mailtoolbar a.forward::before {
  content: "\f064" !important;
}

html body #layout #mailtoolbar a.delete::before {
  content: "\f2ed" !important;
}

html body #layout #mailtoolbar a.junk::before,
html body #layout #mailtoolbar a.spam::before {
  content: "\f05e" !important;
}

html body #layout #mailtoolbar a.markmessage::before {
  content: "\f02b" !important;
}

html body #layout #mailtoolbar a.more::before {
  content: "\f141" !important;
}

html body #layout #mailtoolbar a .inner,
html body #layout #messagelist-header .toolbar a .inner,
html body #layout #mailtoolbar .spacer {
  display: none !important;
}

/* -- Popover dropdown menus (Mark, More, Select, Options) -- */
div.popover {
  z-index: 10050 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18) !important;
  border-radius: 8px !important;
  border: 1px solid var(--g-border, #dadce0) !important;
  background: var(--g-surface, #ffffff) !important;
}

div.popover .popover-body {
  padding: 6px 0 !important;
}

div.popover .menu.listing li a,
div.popover .popupmenu.listing li a {
  display: flex !important;
  align-items: center !important;
  padding: 8px 16px !important;
  color: var(--g-text, #202124) !important;
  font-size: 13px !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: background 0.12s ease !important;
}

div.popover .menu.listing li a:hover,
div.popover .popupmenu.listing li a:hover {
  background: var(--g-hover, #f1f3f4) !important;
  color: var(--g-text, #202124) !important;
}

div.popover .menu.listing li a.disabled,
div.popover .popupmenu.listing li a.disabled {
  opacity: 0.45 !important;
  pointer-events: none !important;
}

/* -- 4d. Right Rail Header (Logo.png) ---------------------------------- */
html body #layout #layout-menu .popover-header {
  justify-content: center !important;
  padding: 0 !important;
}

html body #layout #layout-menu .popover-header a.cancel {
  display: none !important;
}

html body #layout #layout-menu .popover-header a.logo-link {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

html body #layout #layout-menu .popover-header img#logo {
  max-height: 32px !important;
  max-width: 44px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: auto !important;
}


/* =========================================================================
   5. SIDEBAR - COMPOSE BUTTON + FOLDER LIST + QUOTA BAR
========================================================================= */

/* -- 5a. Compose button ------------------------------------------------ */
.sidebar-compose-container,
#layout-sidebar .floating-action-buttons {
  display: block !important;
  padding: 8px 14px 12px 14px !important;
  flex-shrink: 0 !important;
  background: var(--g-sidebar-bg) !important;
  border: none !important;
}

.floating-action-buttons {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.sidebar-compose-container a.compose-btn,
.floating-action-buttons a,
.floating-action-buttons a.compose {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--g-compose-bg) !important;
  color: var(--g-compose-txt) !important;
  border: 1px solid var(--g-compose-border) !important;
  border-radius: 28px !important;
  padding: 0 22px 0 14px !important;
  height: 48px !important;
  min-width: 135px !important;
  font-family: 'Google Sans', 'Roboto', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.25px !important;
  box-shadow: var(--g-compose-shadow) !important;
  text-decoration: none !important;
  transition: background-color .15s, box-shadow .15s !important;
  cursor: pointer !important;
}

.sidebar-compose-container a.compose-btn:hover,
.floating-action-buttons a:hover,
.floating-action-buttons a.compose:hover {
  background: var(--g-hover) !important;
}

.sidebar-compose-container a.compose-btn::before,
.floating-action-buttons a.compose::before {
  display: none !important;
}

.sidebar-compose-container .compose-icon-svg,
.sidebar-compose-container .compose-icon-img {
  width: 24px !important;
  height: 24px !important;
  margin-right: 12px !important;
  flex-shrink: 0 !important;
  border-radius: 6px !important;
  object-fit: cover !important;
}

.sidebar-compose-container a.compose-btn .inner,
.floating-action-buttons a .inner {
  display: inline !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--g-compose-txt) !important;
}

/* -- 5b. Folder list --------------------------------------------------- */
#folderlist-content {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  padding: 4px 0 !important;
  border: none !important;
  background: var(--g-sidebar-bg) !important;
}

#mailboxlist,
.treelist,
.folderlist {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
  border: none !important;
  background: var(--g-sidebar-bg) !important;
}

/* Remove ALL separation lines on li and a elements */
#mailboxlist li,
.folderlist li,
.treelist li,
.listing li {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  margin: 2px 0 !important;
  padding: 0 !important;
  line-height: 34px !important;
}

/* Each folder link */
#mailboxlist li a,
.folderlist li a,
.treelist li a {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  border-radius: 0 16px 16px 0 !important;
  margin-right: 10px !important;
  padding: 0 16px 0 18px !important;
  height: 34px !important;
  line-height: 34px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--g-text) !important;
  transition: background 0.15s !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
}

#mailboxlist li a:hover {
  background: var(--g-hover) !important;
  color: var(--g-text) !important;
}

/* Active / Selected Folder (Inbox / Drafts) */
#mailboxlist li.selected>a {
  background: var(--g-folder-active-bg) !important;
  color: var(--g-folder-active-txt) !important;
  font-weight: 700 !important;
}

#mailboxlist li.selected>a::before {
  color: var(--g-folder-active-txt) !important;
}

/* Unread folders bold */
#mailboxlist li.unread>a {
  font-weight: 700 !important;
}

/* Unread count badge */
#mailboxlist li a .unreadcount {
  margin-left: auto !important;
  background: transparent !important;
  color: var(--g-folder-active-txt) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 0 !important;
}

/* Folder icons */
#mailboxlist li a::before,
.folderlist li a::before,
.treelist li a::before {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  width: 20px !important;
  height: 20px !important;
  line-height: 20px !important;
  margin: 0 12px 0 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  color: var(--g-text-dim) !important;
  float: none !important;
  position: static !important;
  vertical-align: middle !important;
}

/* -- 5c. Sidebar Quota Bar --------------------------------------------- */
#layout-sidebar>.footer {
  background: var(--g-sidebar-bg) !important;
  border-top: 1px solid var(--g-border) !important;
  padding: 0 14px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

#layout-sidebar .quota-widget {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: var(--g-sidebar-bg) !important;
}

#layout-sidebar .quota-widget::before,
#quotadisplay::before {
  display: none !important;
  content: "" !important;
}

.quota-hdd-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
}

.quota-hdd-icon svg {
  fill: var(--g-text-dim) !important;
}

#layout-sidebar .quota-widget .bar {
  flex: 1 1 auto !important;
  height: 5px !important;
  background: var(--g-quota-bg) !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

#layout-sidebar .quota-widget .bar span.value {
  display: block !important;
  height: 100% !important;
  background: var(--g-quota-bar) !important;
  border-radius: 3px !important;
}

#layout-sidebar .quota-widget .count {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--g-text-dim) !important;
  min-width: 24px !important;
  text-align: right !important;
}

#quotadisplay {
  cursor: pointer !important;
  transition: opacity 0.15s ease, background-color 0.15s ease !important;
}

#quotadisplay:hover {
  opacity: 0.95 !important;
}

/* -- Gmail Quota Hover Popover ----------------------------------------- */
.gmail-quota-popover {
  position: fixed !important;
  z-index: 999999 !important;
  width: 250px !important;
  background: var(--g-card-bg, #ffffff) !important;
  color: var(--g-text, #1f1f1f) !important;
  border: 1px solid var(--g-border, #e0e0e0) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15), 0 1px 4px rgba(0, 0, 0, 0.08) !important;
  font-family: 'Google Sans', Roboto, RobotoDraft, Helvetica, Arial, sans-serif !important;
  font-size: 13px !important;
  pointer-events: auto !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(6px) !important;
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.2s !important;
  box-sizing: border-box !important;
}

.gmail-quota-popover.visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.gmail-quota-popover .gqp-arrow {
  position: absolute !important;
  width: 12px !important;
  height: 12px !important;
  background: var(--g-card-bg, #ffffff) !important;
  border-right: 1px solid var(--g-border, #e0e0e0) !important;
  border-bottom: 1px solid var(--g-border, #e0e0e0) !important;
  box-sizing: border-box !important;
}

.gmail-quota-popover .gqp-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 10px !important;
}

.gmail-quota-popover .gqp-title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--g-text, #1f1f1f) !important;
}

.gmail-quota-popover .gqp-icon {
  fill: var(--g-quota-bar, #1a73e8) !important;
  flex-shrink: 0 !important;
}

.gmail-quota-popover .gqp-percent {
  font-weight: 600 !important;
  font-size: 11px !important;
  color: var(--g-text-dim, #5f6368) !important;
  background: rgba(0, 0, 0, 0.05) !important;
  padding: 2px 7px !important;
  border-radius: 10px !important;
}

.gmail-quota-popover .gqp-bar-container {
  margin-bottom: 12px !important;
}

.gmail-quota-popover .gqp-bar {
  width: 100% !important;
  height: 6px !important;
  background: var(--g-quota-bg, #e8eaed) !important;
  border-radius: 3px !important;
  overflow: hidden !important;
}

.gmail-quota-popover .gqp-bar-fill {
  height: 100% !important;
  background: var(--g-quota-bar, #1a73e8) !important;
  border-radius: 3px !important;
  transition: width 0.3s ease !important;
}

.gmail-quota-popover .gqp-bar-fill.warning {
  background: #f9ab00 !important;
}

.gmail-quota-popover .gqp-bar-fill.danger {
  background: #ea4335 !important;
}

.gmail-quota-popover .gqp-details {
  display: flex !important;
  flex-direction: column !important;
  gap: 7px !important;
}

.gmail-quota-popover .gqp-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 12px !important;
}

.gmail-quota-popover .gqp-label {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  color: var(--g-text-dim, #5f6368) !important;
}

.gmail-quota-popover .gqp-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}

.gmail-quota-popover .gqp-dot-used {
  background: var(--g-quota-bar, #1a73e8) !important;
}

.gmail-quota-popover .gqp-dot-avail {
  background: #34a853 !important;
}

.gmail-quota-popover .gqp-dot-total {
  background: #80868b !important;
}

.gmail-quota-popover .gqp-val {
  font-weight: 500 !important;
  color: var(--g-text, #1f1f1f) !important;
}

/* Dark mode overrides */
body.dark-mode .gmail-quota-popover,
[data-theme="dark"] .gmail-quota-popover {
  background: #2d2f31 !important;
  border-color: #444746 !important;
  color: #e3e3e3 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45) !important;
}

body.dark-mode .gmail-quota-popover .gqp-arrow,
[data-theme="dark"] .gmail-quota-popover .gqp-arrow {
  background: #2d2f31 !important;
  border-color: #444746 !important;
}

body.dark-mode .gmail-quota-popover .gqp-percent,
[data-theme="dark"] .gmail-quota-popover .gqp-percent {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #c4c7c5 !important;
}

body.dark-mode .gmail-quota-popover .gqp-val,
[data-theme="dark"] .gmail-quota-popover .gqp-val {
  color: #e3e3e3 !important;
}


/* =========================================================================
   6. LIST PANE - SEARCH BAR + MESSAGE ROWS + PAGINATION
========================================================================= */

/* -- 6a. Search Bar (Positioned Below Header with NO Overlapping) ------ */
#layout-list .searchbar,
.searchbar.menu {
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  padding: 6px 12px 2px 12px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  background: var(--g-bg) !important;
  border-top: none !important;
  border-bottom: none !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  z-index: 1 !important;
}

/* â”€â”€ Gmail Quick Search Filter Chips â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.gmail-search-filter-chips {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 2px 12px 8px 12px !important;
  background: var(--g-bg) !important;
  border-bottom: 1px solid var(--g-border) !important;
  overflow: visible !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
  z-index: 100 !important;
  position: relative !important;
}

.gmail-search-filter-chips::-webkit-scrollbar {
  display: none !important;
}

.gmail-filter-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: 30px !important;
  padding: 0 12px !important;
  border-radius: 16px !important;
  border: 1px solid var(--g-border) !important;
  background: var(--g-bg) !important;
  color: var(--g-text) !important;
  font-family: inherit !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  outline: none !important;
  transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
  user-select: none !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

.gmail-filter-chip:hover {
  background: var(--g-hover, rgba(60, 64, 67, 0.08)) !important;
  border-color: #dadce0 !important;
}

.gmail-filter-chip svg.chip-icon {
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  fill: currentColor !important;
  opacity: 0.75 !important;
  transition: opacity 0.15s !important;
  flex-shrink: 0 !important;
}

.gmail-filter-chip:hover svg.chip-icon {
  opacity: 1 !important;
}

/* Active State (Signature Gmail M3 Google Blue) */
.gmail-filter-chip.active {
  background: #c2e7ff !important;
  color: #001d35 !important;
  border-color: #7fcfff !important;
  font-weight: 600 !important;
}

.gmail-filter-chip.active svg.chip-icon {
  opacity: 1 !important;
  fill: #001d35 !important;
}

/* Dark mode active state */
html.dark-mode .gmail-filter-chip,
body.dark-mode .gmail-filter-chip {
  border-color: rgba(255, 255, 255, 0.12) !important;
}

html.dark-mode .gmail-filter-chip.active,
body.dark-mode .gmail-filter-chip.active {
  background: #004a77 !important;
  color: #c2e7ff !important;
  border-color: #004a77 !important;
}

html.dark-mode .gmail-filter-chip.active svg.chip-icon,
body.dark-mode .gmail-filter-chip.active svg.chip-icon {
  fill: #c2e7ff !important;
}

/* Dropdown wrapper & menu */
.gmail-filter-chip-dropdown-wrapper {
  position: relative !important;
  display: inline-block !important;
}

.gmail-filter-chip svg.dropdown-arrow {
  margin-left: 2px !important;
  opacity: 0.65 !important;
}

.gmail-chip-menu {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  background: var(--g-bg, #ffffff) !important;
  border: 1px solid var(--g-border, #dadce0) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18) !important;
  padding: 6px 0 !important;
  min-width: 170px !important;
  z-index: 99999 !important;
}

.gmail-chip-menu a {
  display: block !important;
  padding: 7px 16px !important;
  color: var(--g-text, #202124) !important;
  text-decoration: none !important;
  font-size: 13px !important;
  transition: background 0.15s !important;
  cursor: pointer !important;
}

.gmail-chip-menu a:hover {
  background: var(--g-hover, rgba(60, 64, 67, 0.08)) !important;
}

.gmail-chip-menu a.selected {
  font-weight: 600 !important;
  color: var(--g-blue, #1a73e8) !important;
  background: rgba(26, 115, 232, 0.08) !important;
}

.gmail-chip-menu-divider {
  height: 1px !important;
  background: var(--g-border, #e0e0e0) !important;
  margin: 6px 0 !important;
}

/* Custom Date Range Subform */
.gmail-custom-range-form {
  padding: 14px 16px !important;
  min-width: 250px !important;
  box-sizing: border-box !important;
}

.gmail-custom-range-form .range-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  color: var(--g-text, #202124) !important;
  margin-bottom: 12px !important;
}

.gmail-custom-range-form .close-range-form {
  background: none !important;
  border: none !important;
  font-size: 18px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  color: var(--g-text-secondary, #5f6368) !important;
  padding: 0 4px !important;
}

.gmail-custom-range-form .range-field {
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 10px !important;
}

.gmail-custom-range-form .range-field label {
  font-size: 11.5px !important;
  font-weight: 500 !important;
  color: var(--g-text-secondary, #5f6368) !important;
  margin-bottom: 4px !important;
}

.gmail-custom-range-form .range-field input.date-input {
  border: 1px solid var(--g-border, #dadce0) !important;
  border-radius: 6px !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
  background: var(--g-input-bg, #ffffff) !important;
  color: var(--g-text, #202124) !important;
  outline: none !important;
  box-sizing: border-box !important;
  width: 100% !important;
  font-family: inherit !important;
}

.gmail-custom-range-form .range-field input.date-input:focus {
  border-color: var(--g-blue, #1a73e8) !important;
  box-shadow: 0 0 0 2px rgba(26, 115, 232, 0.2) !important;
}

.gmail-custom-range-form .range-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-top: 14px !important;
}

.gmail-custom-range-form .range-btn-cancel,
.gmail-custom-range-form .range-btn-apply {
  padding: 6px 14px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  border: none !important;
  transition: all 0.15s !important;
}

.gmail-custom-range-form .range-btn-cancel {
  background: transparent !important;
  color: var(--g-text-secondary, #5f6368) !important;
}

.gmail-custom-range-form .range-btn-cancel:hover {
  background: var(--g-hover, rgba(60, 64, 67, 0.08)) !important;
}

.gmail-custom-range-form .range-btn-apply {
  background: var(--g-blue, #1a73e8) !important;
  color: #ffffff !important;
}

.gmail-custom-range-form .range-btn-apply:hover {
  background: #1557b0 !important;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.3) !important;
}

/* Material style for jQuery UI Datepicker */
#ui-datepicker-div {
  z-index: 9999999 !important;
  background: var(--g-bg, #ffffff) !important;
  color: var(--g-text, #202124) !important;
  border: 1px solid var(--g-border, #dadce0) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18) !important;
  padding: 10px !important;
  font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  font-size: 12.5px !important;
}

#ui-datepicker-div .ui-datepicker-header {
  background: transparent !important;
  border: none !important;
  padding: 4px 0 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

#ui-datepicker-div .ui-datepicker-title {
  font-weight: 600 !important;
  color: var(--g-text, #202124) !important;
  font-size: 13px !important;
  text-align: center !important;
  width: 100% !important;
}

#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
  cursor: pointer !important;
  border-radius: 50% !important;
  width: 28px !important;
  height: 28px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  background: transparent !important;
  top: 4px !important;
}

#ui-datepicker-div .ui-datepicker-prev:hover,
#ui-datepicker-div .ui-datepicker-next:hover {
  background: var(--g-hover, rgba(60, 64, 67, 0.08)) !important;
}

#ui-datepicker-div table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-top: 4px !important;
}

#ui-datepicker-div th {
  padding: 5px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--g-text-secondary, #5f6368) !important;
  text-align: center !important;
}

#ui-datepicker-div td {
  padding: 1px !important;
  text-align: center !important;
}

#ui-datepicker-div td a,
#ui-datepicker-div td span {
  display: inline-block !important;
  width: 28px !important;
  height: 28px !important;
  line-height: 28px !important;
  text-align: center !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  color: var(--g-text, #202124) !important;
  transition: all 0.15s !important;
  font-size: 12px !important;
  border: none !important;
}

#ui-datepicker-div td a:hover {
  background: var(--g-hover, rgba(60, 64, 67, 0.08)) !important;
}

#ui-datepicker-div td.ui-datepicker-current-day a,
#ui-datepicker-div td.ui-state-active a {
  background: var(--g-blue, #1a73e8) !important;
  color: #ffffff !important;
  font-weight: 600 !important;
}

#ui-datepicker-div td.ui-datepicker-today a {
  border: 1px solid var(--g-blue, #1a73e8) !important;
}

/* Clear all filter chip */
.gmail-filter-chip.clear-all {
  background: transparent !important;
  color: #d93025 !important;
  border-color: rgba(217, 48, 37, 0.25) !important;
}

.gmail-filter-chip.clear-all:hover {
  background: rgba(217, 48, 37, 0.08) !important;
  border-color: #d93025 !important;
}

.gmail-filter-chip.clear-all svg.chip-icon {
  fill: #d93025 !important;
}

.searchbar form {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  background: var(--g-search-bg) !important;
  border-radius: 20px !important;
  padding: 0 12px !important;
  height: 36px !important;
  border: 1px solid var(--g-border) !important;
  transition: background-color .15s, box-shadow .15s !important;
  margin: 0 !important;
}

.searchbar form:focus-within {
  background: var(--g-bg) !important;
  border-color: var(--g-blue) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .15) !important;
}

.searchbar input.searchform {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  font-size: 13.5px !important;
  color: var(--g-search-txt) !important;
  width: 100% !important;
  padding: 0 8px !important;
  height: 34px !important;
}

.searchbar a.button {
  color: var(--g-text-dim) !important;
}

/* Column Header Bar: From, Subject, Timestamp */
.gmail-messagelist-header {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 16px 0 12px !important;
  background: #e0f2f1 !important;
  border-top: 1px solid #b2dfdb !important;
  border-bottom: 1px solid #b2dfdb !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
  color: #00695c !important;
  box-sizing: border-box !important;
  width: 100% !important;
  user-select: none !important;
  z-index: 5 !important;
  overflow: visible !important;
}

/* Hide column header in split preview mode to prevent header collapse / overlap */
#layout.has-message-open #gmail-messagelist-header,
#layout.has-message-open .gmail-messagelist-header {
  display: none !important;
}

html.dark-mode .gmail-messagelist-header {
  background: #282a2d !important;
  border-top: 1px solid #3c4043 !important;
  border-bottom: 1px solid #3c4043 !important;
  color: #c4c7c5 !important;
}

.gmail-messagelist-header .header-col-spacer,
.gmail-messagelist-header .header-col-select {
  flex: 0 0 68px !important;
  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  box-sizing: border-box !important;
  padding-left: 3px !important;
  overflow: visible !important;
}

.gmail-header-checkbox-wrap {
  display: inline-flex !important;
  align-items: center !important;
  height: 26px !important;
  border-radius: 4px !important;
  padding: 0 2px 0 2px !important;
  transition: background 0.15s ease !important;
  cursor: pointer !important;
}

.gmail-header-checkbox-wrap:hover {
  background: rgba(0, 0, 0, 0.07) !important;
}

html.dark-mode .gmail-header-checkbox-wrap:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

.gmail-select-all-chk {
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  cursor: pointer !important;
  accent-color: #1a73e8 !important;
  border-radius: 2px !important;
  vertical-align: middle !important;
}

.gmail-header-select-caret {
  background: transparent !important;
  border: none !important;
  padding: 2px !important;
  margin-left: 2px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #5f6368 !important;
  border-radius: 2px !important;
  height: 18px !important;
  width: 14px !important;
  line-height: 1 !important;
  outline: none !important;
}

.gmail-header-select-caret:hover {
  color: #202124 !important;
}

html.dark-mode .gmail-header-select-caret {
  color: #9aa0a6 !important;
}

html.dark-mode .gmail-header-select-caret:hover {
  color: #e8eaed !important;
}

/* Gmail Select Popover Dropdown */
.gmail-select-dropdown {
  position: absolute !important;
  top: 32px !important;
  left: 0 !important;
  z-index: 9999 !important;
  background: #ffffff !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2), 0 0 1px rgba(0, 0, 0, 0.1) !important;
  min-width: 140px !important;
  padding: 6px 0 !important;
  border: 1px solid #dadce0 !important;
  font-family: 'Google Sans', Roboto, -apple-system, BlinkMacSystemFont, sans-serif !important;
}

html.dark-mode .gmail-select-dropdown {
  background: #303134 !important;
  border-color: #5f6368 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
}

.gmail-select-dropdown .gmail-sel-opt {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  padding: 7px 18px !important;
  font-size: 13.5px !important;
  color: #3c4043 !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  transition: background 0.12s ease !important;
  outline: none !important;
}

.gmail-select-dropdown .gmail-sel-opt:hover {
  background: #f1f3f4 !important;
  color: #202124 !important;
}

html.dark-mode .gmail-select-dropdown .gmail-sel-opt {
  color: #e8eaed !important;
}

html.dark-mode .gmail-select-dropdown .gmail-sel-opt:hover {
  background: #3c4043 !important;
  color: #ffffff !important;
}

.gmail-messagelist-header .header-col-from {
  flex: 0 0 180px !important;
  width: 180px !important;
  min-width: 140px !important;
  max-width: 200px !important;
  padding-right: 16px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: color 0.15s ease !important;
}

.gmail-messagelist-header .header-col-subject {
  flex: 1 1 0px !important;
  width: 0 !important;
  min-width: 0 !important;
  padding-right: 16px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: color 0.15s ease !important;
}

.gmail-messagelist-header .header-col-date {
  flex: 0 0 auto !important;
  margin-left: auto !important;
  min-width: 140px !important;
  padding: 0 16px 0 8px !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  text-align: right !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: color 0.15s ease !important;
}

.gmail-messagelist-header .header-col-from:hover,
.gmail-messagelist-header .header-col-subject:hover,
.gmail-messagelist-header .header-col-date:hover {
  color: var(--g-text, #202124) !important;
}

html.dark-mode .gmail-messagelist-header .header-col-from:hover,
html.dark-mode .gmail-messagelist-header .header-col-subject:hover,
html.dark-mode .gmail-messagelist-header .header-col-date:hover {
  color: #e8eaed !important;
}

/* -- 6b. Message List Rows (Authentic Gmail Horizontal Density) --------- */
#messagelist-content {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  background: var(--g-bg) !important;
  margin: 0 !important;
}

.messagelist {
  background: var(--g-bg) !important;
  width: 100% !important;
}

.messagelist table,
#messagelist {
  border-collapse: collapse !important;
  width: 100% !important;
  table-layout: auto !important;
  background: var(--g-bg) !important;
}

/* Row Base: Unified Flex Layout for Pixel-Perfect Straight-Line Alignment */
.messagelist tr,
#messagelist tr {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  min-height: 40px !important;
  height: auto !important;
  max-height: none !important;
  border-bottom: 1px solid var(--g-border-light) !important;
  background: #f2f6fc !important;
  cursor: pointer !important;
  padding: 6px 16px 6px 12px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  transition: box-shadow 0.1s ease, background 0.1s ease !important;
  width: 100% !important;
}

/* Ensure hidden / removed rows instantly vanish even against display: flex !important */
.messagelist tr[style*="display: none"],
#messagelist tr[style*="display: none"],
.messagelist tr[style*="display:none"],
#messagelist tr[style*="display:none"],
.messagelist tr.deleted,
#messagelist tr.deleted {
  display: none !important;
}

html.dark-mode .messagelist tr,
html.dark-mode #messagelist tr {
  background: #1e1e1e !important;
}

/* Unread email: white / crisp dark background */
.messagelist tr.unread,
#messagelist tr.unread {
  background: var(--g-bg) !important;
}

/* Hover state: slight elevation & highlight */
.messagelist tr:hover,
#messagelist tr:hover {
  background: var(--g-hover) !important;
  box-shadow: inset 1px 0 0 #dadce0, inset -1px 0 0 #dadce0, 0 1px 2px 0 rgba(60, 64, 67, .3) !important;
  z-index: 2 !important;
  position: relative !important;
}

/* Active opened message: Google blue left border indicator */
.messagelist tr.gmail-message-active,
#messagelist tr.gmail-message-active,
#layout.has-message-open #messagelist tbody tr.gmail-message-active {
  background: #c2e7ff !important;
  border-left: 4px solid #0b57d0 !important;
}

/* Selected row & checked checkboxes: Light blue background, NO left blue bar */
.messagelist tr.selected:not(.gmail-message-active),
#messagelist tr.selected:not(.gmail-message-active),
.messagelist tr.gmail-checked:not(.gmail-message-active),
#messagelist tr.gmail-checked:not(.gmail-message-active),
.messagelist tr:has(input[type="checkbox"]:checked):not(.gmail-message-active),
#messagelist tr:has(input[type="checkbox"]:checked):not(.gmail-message-active),
#layout.has-message-open #messagelist tbody tr.selected:not(.gmail-message-active) {
  background: #c2e7ff !important;
  border-left: 4px solid transparent !important;
}

html.dark-mode .messagelist tr.gmail-message-active,
html.dark-mode #messagelist tr.gmail-message-active,
html.dark-mode #layout.has-message-open #messagelist tbody tr.gmail-message-active {
  background: #004a77 !important;
  border-left: 4px solid #7cacf8 !important;
}

html.dark-mode .messagelist tr.selected:not(.gmail-message-active),
html.dark-mode #messagelist tr.selected:not(.gmail-message-active),
html.dark-mode .messagelist tr.gmail-checked:not(.gmail-message-active),
html.dark-mode #messagelist tr.gmail-checked:not(.gmail-message-active),
html.dark-mode .messagelist tr:has(input[type="checkbox"]:checked):not(.gmail-message-active),
html.dark-mode #messagelist tr:has(input[type="checkbox"]:checked):not(.gmail-message-active),
html.dark-mode #layout.has-message-open #messagelist tbody tr.selected:not(.gmail-message-active) {
  background: #004a77 !important;
  border-left: 4px solid transparent !important;
}

/* Cell Defaults */
.messagelist tr td,
#messagelist tr td {
  padding: 0 !important;
  margin: 0 !important;
  font-size: 14px !important;
  color: var(--g-text) !important;
  border: none !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

/* Col 1: Selection Checkbox (Leftmost) */
.messagelist tr td.threads,
.messagelist tr td.selection,
.messagelist tr td.select,
#messagelist tr td.threads,
#messagelist tr td.selection,
#messagelist tr td.select {
  order: 1 !important;
  flex: 0 0 28px !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: auto !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 3px 0 0 0 !important;
  margin: 0 4px 0 0 !important;
}

.messagelist tr td input[type="checkbox"],
#messagelist tr td input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  cursor: pointer !important;
  border-radius: 2px !important;
  accent-color: #1a73e8 !important;
  vertical-align: middle !important;
  margin: 0 !important;
}

@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/fa-solid-900.woff2") format('woff2'), url("../fonts/fa-solid-900.woff") format('woff');
}

@font-face {
  font-family: 'Font Awesome 5 Free';
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/fa-regular-400.woff2") format('woff2'), url("../fonts/fa-regular-400.woff") format('woff');
}

/* Col 2: Star / Flag (Between Checkbox and Sender) */
.messagelist tr td.flags,
.messagelist tr td.flag,
#messagelist tr td.flags,
#messagelist tr td.flag,
html body #layout .messagelist tr td.flags,
html body #layout .messagelist tr td.flag,
html body #layout #messagelist tr td.flags,
html body #layout #messagelist tr td.flag {
  order: 2 !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  height: auto !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 3px 0 0 0 !important;
  margin: 0 10px 0 0 !important;
  cursor: pointer !important;
  position: relative !important;
}

.messagelist tr td.flags span.flag,
.messagelist tr td.flags span[id^="flagicn"],
.messagelist tr td.flags span.unflagged,
.messagelist tr td.flags span.flagged,
.messagelist tr td.flag span.flag,
.messagelist tr td.flag span[id^="flagicn"],
.messagelist tr td.flag span.unflagged,
.messagelist tr td.flag span.flagged,
.messagelist tr td.flags a,
.messagelist tr td.flag a,
#messagelist tr td.flags span.flag,
#messagelist tr td.flags span[id^="flagicn"],
#messagelist tr td.flags span.unflagged,
#messagelist tr td.flags span.flagged,
#messagelist tr td.flags a,
#messagelist tr td.flag a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  text-decoration: none !important;
  font-size: 0 !important;
  color: var(--g-text-dim) !important;
  cursor: pointer !important;
  line-height: 1 !important;
}

/* Outline star (default unflagged) */
.messagelist tr td.flags span.flag::before,
.messagelist tr td.flags span[id^="flagicn"]::before,
.messagelist tr td.flags span.unflagged::before,
.messagelist tr td.flag span.flag::before,
.messagelist tr td.flag span[id^="flagicn"]::before,
.messagelist tr td.flag span.unflagged::before,
.messagelist tr td.flags a::before,
.messagelist tr td.flag a::before,
#messagelist tr td.flags span.flag::before,
#messagelist tr td.flags span[id^="flagicn"]::before,
#messagelist tr td.flags span.unflagged::before,
#messagelist tr td.flags a::before,
#messagelist tr td.flag a::before {
  content: "\f005" !important;
  /* fa-star */
  font-family: Icons, 'Font Awesome 5 Free', sans-serif !important;
  font-weight: 400 !important;
  /* Outline */
  font-size: 15px !important;
  color: #c4c7c5 !important;
  transition: color 0.15s ease, transform 0.15s ease;
}

/* Prevent double icons if both parent span.flag and child span have ::before */
.messagelist tr td.flags span.flag>span::before,
.messagelist tr td.flag span.flag>span::before,
#messagelist tr td.flags span.flag>span::before,
#messagelist tr td.flag span.flag>span::before {
  content: none !important;
  display: none !important;
}

/* Star hover effect */
.messagelist tr td.flags:hover span.flag::before,
.messagelist tr td.flags:hover span[id^="flagicn"]::before,
.messagelist tr td.flags:hover span.unflagged::before,
.messagelist tr td.flag:hover span::before {
  color: #5f6368 !important;
  transform: scale(1.15);
}

/* SOLID GOLD STAR (FLAGGED) */
.messagelist tr.flagged td.flags span.flag::before,
.messagelist tr.flagged td.flags span[id^="flagicn"]::before,
.messagelist tr.flagged td.flags span.unflagged::before,
.messagelist tr.flagged td.flags span.flagged::before,
.messagelist tr td.flags span.flagged::before,
.messagelist tr td.flags span.flag.flagged::before,
.messagelist tr.flagged td.flag span.flag::before,
.messagelist tr.flagged td.flag span[id^="flagicn"]::before,
.messagelist tr.flagged td.flag span.flagged::before,
.messagelist tr td.flag span.flagged::before,
.messagelist tr.flagged td.flags a::before,
.messagelist tr.flagged td.flag a::before,
#messagelist tr.flagged td.flags span.flag::before,
#messagelist tr.flagged td.flags span[id^="flagicn"]::before,
#messagelist tr.flagged td.flags span.flagged::before,
#messagelist tr td.flags span.flagged::before,
#messagelist tr.flagged td.flags a::before,
#messagelist tr.flagged td.flag a::before {
  font-family: Icons, 'Font Awesome 5 Free', sans-serif !important;
  font-weight: 900 !important;
  /* Solid */
  color: #f4b400 !important;
  /* Google Gold */
  transform: none;
}

.messagelist tr.flagged td.flags:hover span::before,
.messagelist tr td.flags:hover span.flagged::before {
  color: #f4b400 !important;
  transform: scale(1.15);
}

/* Col 3: Subject TD (Contains From + Subject + Snippet + Chips + Date) */
.messagelist tr td.subject,
#messagelist tr td.subject {
  order: 3 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 28px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  padding: 0 !important;
  margin: 0 !important;
  width: calc(100% - 64px) !important;
  box-sizing: border-box !important;
}

/* Part A: From / Sender Name */
.messagelist tr td.subject span.fromto,
#messagelist tr td.subject span.fromto {
  order: 1 !important;
  flex: 0 0 180px !important;
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  flex-shrink: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 14px !important;
  line-height: 24px !important;
  height: auto !important;
  display: block !important;
  color: var(--g-text) !important;
  padding: 0 16px 0 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  font-weight: 400 !important;
}

.messagelist tr td.subject span.fromto *,
#messagelist tr td.subject span.fromto * {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: inline-block !important;
  max-width: 100% !important;
  vertical-align: top !important;
}

/* Part B: Subject + Snippet (Line 1) + Attachment Chips (Line 2) */
.messagelist tr td.subject span.subject,
#messagelist tr td.subject span.subject {
  order: 2 !important;
  flex: 1 1 0px !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  font-size: 14px !important;
  line-height: 24px !important;
  height: auto !important;
  min-height: 24px !important;
  color: var(--g-text-dim) !important;
  padding: 0 16px 0 0 !important;
  margin: 0 !important;
  font-weight: 400 !important;
}

.messagelist tr td.subject span.subject a,
#messagelist tr td.subject span.subject a {
  text-decoration: none !important;
  color: inherit !important;
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: baseline !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  width: auto !important;
}

.messagelist tr td.subject span.subject a>span,
#messagelist tr td.subject span.subject a>span {
  display: inline !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: none !important;
  width: auto !important;
}

.messagelist tr td.subject span.subject a .gmail-subject-text {
  display: inline !important;
  max-width: none !important;
  white-space: nowrap !important;
  line-height: 24px !important;
}

/* Gmail Snippet */
.gmail-snippet {
  display: inline !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: var(--g-text-dim, #5f6368) !important;
  font-weight: 400 !important;
  margin-left: 5px !important;
  opacity: 0.85 !important;
}

.messagelist tr.unread td.subject span.subject a .gmail-snippet,
#messagelist tr.unread td.subject span.subject a .gmail-snippet {
  font-weight: 400 !important;
  color: var(--g-text-dim, #5f6368) !important;
}

/* Gmail Attachment Chips Container (Line 2 directly below Subject/Snippet) */
.gmail-attachment-chips {
  order: 3 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 4px !important;
  margin-bottom: 2px !important;
  flex-shrink: 0 !important;
}

.gmail-attachment-chip {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  height: 26px !important;
  line-height: 26px !important;
  padding: 0 10px !important;
  border-radius: 13px !important;
  border: 1px solid var(--g-border, #dadce0) !important;
  background: var(--g-bg, #ffffff) !important;
  color: var(--g-text, #3c4043) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  max-width: 240px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: all 0.15s ease !important;
  z-index: 5 !important;
  box-sizing: border-box !important;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05) !important;
}

.gmail-attachment-chip:hover {
  background: #f1f3f4 !important;
  border-color: #c4c7c5 !important;
  box-shadow: 0 1px 3px rgba(60, 64, 67, .2) !important;
  color: #1a73e8 !important;
}

html.dark-mode .gmail-attachment-chip {
  background: #2b2b2b !important;
  border-color: #444746 !important;
  color: #e3e3e3 !important;
}

html.dark-mode .gmail-attachment-chip:hover {
  background: #383b3e !important;
  border-color: #8ab4f8 !important;
  color: #8ab4f8 !important;
}

.gmail-attachment-chip .chip-icon-svg {
  flex-shrink: 0 !important;
  vertical-align: middle !important;
}

.gmail-attachment-chip .chip-label {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Part C: Date / Time (Permanently Locked on Far Right) */
.messagelist tr td.subject span.date,
#messagelist tr td.subject span.date {
  order: 4 !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  margin-left: auto !important;
  font-size: 12.5px !important;
  line-height: 24px !important;
  height: auto !important;
  display: flex !important;
  align-items: flex-start !important;
  align-self: flex-start !important;
  justify-content: flex-end !important;
  color: var(--g-text-dim) !important;
  white-space: nowrap !important;
  text-align: right !important;
  min-width: 140px !important;
  padding: 2px 16px 0 8px !important;
  font-weight: 400 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Hide unneeded Elastic status icon / circle bullet and size badge */
.messagelist tr td.subject span.msgicon,
.messagelist tr td.subject span.msgicon.status,
#messagelist tr td.subject span.msgicon,
#messagelist tr td.subject span.msgicon.status,
.messagelist tr td.subject span.size,
#messagelist tr td.subject span.size {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Unread Message State: Bold Typography Across the Row */
.messagelist tr.unread td.subject span.fromto,
#messagelist tr.unread td.subject span.fromto,
.messagelist tr.unread td.subject span.subject,
#messagelist tr.unread td.subject span.subject,
.messagelist tr.unread td.subject span.subject a,
#messagelist tr.unread td.subject span.subject a,
.messagelist tr.unread td.subject span.date,
#messagelist tr.unread td.subject span.date {
  font-weight: 700 !important;
  color: var(--g-text) !important;
}

/* -- 6c. Pagination Footer --------------------------------------------- */
#layout-list>.footer,
.pagenav {
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  background: var(--g-bg) !important;
  border-top: 1px solid var(--g-border) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  color: var(--g-text-dim) !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

.pagenav a.button {
  color: var(--g-text-dim) !important;
}


/* =========================================================================
   7. CONTENT / PREVIEW PANE - MESSAGE FRAME & IFRAME INTERNAL RENDERING
========================================================================= */
#layout>#layout-content .iframe-wrapper {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: calc(100vh - 48px) !important;
  width: 100% !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  position: relative !important;
}

#messagecontframe {
  background: var(--g-bg) !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  border: none !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}

/* -- IFRAME INTERNAL MESSAGE RENDERING (when loaded inside messagecontframe) -- */
html.iframe,
html.iframe body,
body.action-preview,
body.action-preview html {
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: var(--g-bg) !important;
  color: var(--g-text) !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.iframe #layout-content,
body.action-preview #layout-content,
body.iframe #layout-content {
  position: relative !important;
  display: block !important;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  width: 100% !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 20px 28px 80px 28px !important;
  background: var(--g-bg) !important;
  box-sizing: border-box !important;
}

html.iframe .content.frame-content,
body.action-preview .content.frame-content,
html.iframe #message-header,
body.action-preview #message-header,
html.iframe #message-content,
body.action-preview #message-content,
html.iframe .rightcol,
body.action-preview .rightcol,
html.iframe #messagebody,
body.action-preview #messagebody {
  position: relative !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  background: transparent !important;
}

html.iframe #message-header,
body.action-preview #message-header {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

html.iframe #message-header .subject,
body.action-preview #message-header .subject {
  font-size: 20px !important;
  font-weight: 500 !important;
  color: var(--g-text) !important;
  margin-bottom: 8px !important;
}

/* -- Hide default/old header container so only the Gmail Header Card displays -- */
#message-header>.header,
#message-header .header:empty,
#message-objects:empty,
.box-information:empty,
.leftcol:empty,
#attachment-list:empty,
.header-content:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  height: 0 !important;
}

#message-header .contactphoto {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}

#message-header .header-content {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  width: 100% !important;
}

#message-header .header-summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  font-size: 14px !important;
  color: var(--g-text) !important;
}

#message-header .header-headers {
  font-size: 12.5px !important;
  color: var(--g-text-dim) !important;
  margin-top: 4px !important;
}

.header-row-top {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  font-size: 14px !important;
  line-height: 20px !important;
}

.from-info {
  font-weight: normal !important;
  color: var(--g-text) !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.from-info .adr a,
.from-info a.rcmContactAddress,
.from-info .name,
.sender-name {
  font-weight: 700 !important;
  color: var(--g-text) !important;
  text-decoration: none !important;
}

.header-right-actions {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

.message-date {
  color: var(--g-text-dim) !important;
  font-size: 12.5px !important;
  white-space: nowrap !important;
  margin: 0 !important;
  padding: 0 !important;
}

.header-action-buttons {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 4px !important;
}

.header-action-buttons a.button,
.header-action-buttons a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  line-height: 32px !important;
  border-radius: 50% !important;
  color: var(--g-text-dim) !important;
  background: transparent !important;
  font-size: 0 !important;
  transition: background 0.15s, color 0.15s !important;
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

.header-action-buttons a.button:hover,
.header-action-buttons a:hover {
  background: var(--g-hover) !important;
  color: var(--g-text) !important;
}

/* Star / Flag button */
.header-action-buttons a.star-btn::before {
  content: "\f005" !important;
  /* fa-star */
  font-family: 'Font Awesome 5 Free', 'Icons', sans-serif !important;
  font-weight: 400 !important;
  /* Outline */
  font-size: 15px !important;
  line-height: 15px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.header-action-buttons a.star-btn.flagged::before {
  font-weight: 900 !important;
  /* Solid */
  color: #f4b400 !important;
  /* Gold Star */
}

/* Reply button */
.header-action-buttons a.reply-btn::before {
  content: "\f3e5" !important;
  /* fa-reply */
  font-family: 'Font Awesome 5 Free', 'Icons', sans-serif !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  line-height: 15px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Triple dot more button (vertical ellipsis) */
.header-action-buttons a.more-btn::before {
  content: "\f142" !important;
  /* fa-ellipsis-v */
  font-family: 'Font Awesome 5 Free', 'Icons', sans-serif !important;
  font-weight: 900 !important;
  font-size: 15px !important;
  line-height: 15px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.header-action-buttons a .inner {
  display: none !important;
}

.header-row-bottom {
  margin-top: 4px !important;
  font-size: 12.5px !important;
  color: var(--g-text-dim) !important;
}

.to-info {
  color: var(--g-text-dim) !important;
}

.to-info a {
  color: var(--g-text-dim) !important;
  text-decoration: none !important;
}

.to-info a:hover {
  text-decoration: underline !important;
}

html.iframe #messagebody,
body.action-preview #messagebody {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--g-text) !important;
}

/* -- Gmail-style Floating Bottom Quick Action Buttons (Reply / Forward pills) -- */
.message-bottom-actions {
  position: fixed !important;
  bottom: 20px !important;
  left: 28px !important;
  z-index: 9999 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gmail-bottom-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  height: 38px !important;
  padding: 0 20px !important;
  border: 1px solid var(--g-border) !important;
  border-radius: 20px !important;
  background: var(--g-bg) !important;
  color: var(--g-text) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.25), 0 3px 6px rgba(60, 64, 67, 0.12) !important;
  transition: background 0.15s, border-color 0.15s, box-shadow 0.15s, transform 0.15s !important;
}

.gmail-bottom-btn:hover {
  background: var(--g-hover) !important;
  border-color: #c4c7c5 !important;
  color: var(--g-text) !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(60, 64, 67, 0.3), 0 6px 12px rgba(60, 64, 67, 0.18) !important;
  transform: translateY(-1px) !important;
}

.gmail-bottom-btn .btn-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gmail-bottom-btn.reply-btn .btn-icon::before {
  content: "\f3e5" !important;
  /* fa-reply */
  font-family: 'Font Awesome 5 Free', 'Icons', sans-serif !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  color: var(--g-text-dim) !important;
}

.gmail-bottom-btn.forward-btn .btn-icon::before {
  content: "\f064" !important;
  /* fa-share / forward */
  font-family: 'Font Awesome 5 Free', 'Icons', sans-serif !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  color: var(--g-text-dim) !important;
}

.gmail-bottom-btn:hover .btn-icon::before {
  color: var(--g-text) !important;
}

.gmail-bottom-btn .btn-text {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--g-text) !important;
}


/* =========================================================================
   8. RIGHT NAV STRIP (#taskmenu) - ICONS + UTILITY BUTTONS
========================================================================= */
#taskmenu {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 8px 0 !important;
  gap: 4px !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: calc(100vh - 48px) !important;
  background: var(--g-sidebar-bg) !important;
  width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Hide text labels */
#taskmenu a .inner {
  display: none !important;
}

/* Every nav item: round icon button */
#taskmenu a,
#taskmenu .button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  margin: 2px 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  color: var(--g-text-dim) !important;
  background: transparent !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s !important;
  font-size: 0 !important;
  position: relative !important;
  border: none !important;
}

#taskmenu a:hover,
#taskmenu .button:hover {
  background: var(--g-hover) !important;
  color: var(--g-text) !important;
}

#taskmenu a.selected,
#taskmenu .button.selected {
  color: #ff5552 !important;
  background: var(--g-folder-active-bg) !important;
}

#taskmenu a::before,
#taskmenu .button::before {
  font-size: 18px !important;
  line-height: 1 !important;
  font-family: 'Font Awesome 5 Free', 'Icons', sans-serif !important;
  font-weight: 900 !important;
  margin: 0 !important;
  display: block !important;
}

/* Specific nav icons */
#taskmenu a.mail::before {
  content: "\f0e0" !important;
}

#taskmenu a.contacts::before {
  content: "\f007" !important;
}

#taskmenu a.calendar::before {
  content: "\f073" !important;
}

#taskmenu a.settings::before {
  content: "\f013" !important;
}

#taskmenu a.apps,
#taskmenu .button.apps,
#taskmenu a[class*="apps"],
#taskmenu a[title*="Apps" i],
#taskmenu a[href*="apps" i],
#taskmenu a[onclick*="apps" i] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  max-width: 0 !important;
  max-height: 0 !important;
  opacity: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#taskmenu a.apps::before {
  display: none !important;
  content: "" !important;
}

#taskmenu .action-buttons {
  display: none !important;
}

#taskmenu .taskmenu-spacer {
  flex: 1 1 auto !important;
  min-height: 10px !important;
}

/* Bottom special buttons - LOCKED to bottom of right rail */
#taskmenu .special-buttons,
.special-buttons {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  margin-top: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  padding-bottom: 8px !important;
  width: 100% !important;
  background: transparent !important;
}

#taskmenu .special-buttons a,
.special-buttons a {
  width: 36px !important;
  height: 36px !important;
  margin: 2px 0 !important;
}

/* Theme moon / sun toggle icons */
#taskmenu a.theme::before,
#taskmenu a.theme.dark::before {
  content: "\f186" !important;
  /* fa-moon */
}

#taskmenu a.theme.light::before {
  content: "\f185" !important;
  /* fa-sun */
}

#taskmenu a.about::before {
  content: "\f05a" !important;
}

#taskmenu a.logout::before {
  content: "\f011" !important;
}

/* =========================================================================
   9. POPUPS & POP-OVERS (Gmail card menu style)
========================================================================= */
.popupmenu,
div.popupmenu,
#uploadform,
#layout>.popupmenu,
#layout>#uploadform {
  display: none !important;
}

.popover .popupmenu,
.popover div.popupmenu,
.popover-body .popupmenu,
.popover-body div.popupmenu,
.ui-dialog .popupmenu,
.ui-dialog div.popupmenu,
.ui-dialog #uploadform {
  display: block !important;
}

.popover,
div.popover,
.popover.show,
div.popover.show,
.popover.bs-popover-bottom,
.popover.bs-popover-top,
.popover.bs-popover-auto,
.popover.bs-popover-start,
.popover.bs-popover-end {
  background: var(--g-bg, #ffffff) !important;
  background-color: var(--g-bg, #ffffff) !important;
  opacity: 1 !important;
  border: 1px solid var(--g-border, #dadce0) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.22) !important;
  padding: 6px 0 !important;
  z-index: 99999 !important;
}

.popover.show,
div.popover.show {
  display: block !important;
}

div.popover .popover-body,
.popover .popover-body,
.popover .popupmenu,
.popover div.popupmenu,
.popover-body .popupmenu,
.popover-body div.popupmenu,
.popover ul.menu,
.popover-body ul.menu {
  background: var(--g-bg, #ffffff) !important;
  background-color: var(--g-bg, #ffffff) !important;
  opacity: 1 !important;
  border-radius: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

html.dark-mode div.popover,
html.dark-mode .popover,
html.dark-mode .popover.show,
html.dark-mode div.popover .popover-body,
html.dark-mode .popover .popover-body,
html.dark-mode .popover .popupmenu,
html.dark-mode .popover ul.menu {
  background: #1e252b !important;
  background-color: #1e252b !important;
  border-color: #28323a !important;
}

.popupmenu ul.menu li,
.popover-body ul.menu li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.popupmenu ul.menu li a,
.popover-body ul.menu li a {
  display: flex !important;
  align-items: center !important;
  padding: 9px 18px !important;
  font-size: 13.5px !important;
  color: var(--g-text, #202124) !important;
  text-decoration: none !important;
  background: transparent !important;
  transition: background 0.12s ease !important;
  white-space: nowrap !important;
}

.popupmenu ul.menu li a:hover,
.popover-body ul.menu li a:hover {
  background: var(--g-hover, #f1f3f4) !important;
  color: var(--g-text, #202124) !important;
}

.popupmenu ul.menu li a.disabled,
.popover-body ul.menu li a.disabled {
  opacity: 0.38 !important;
  pointer-events: none !important;
}

/* =========================================================================
   10. GMAIL DOCKED BOTTOM-RIGHT COMPOSE WINDOW
========================================================================= */
.gmail-compose-dock {
  position: fixed !important;
  bottom: 0 !important;
  right: 72px !important;
  width: 580px !important;
  height: 520px !important;
  max-height: 90vh !important;
  background: var(--g-bg) !important;
  border-radius: 10px 10px 0 0 !important;
  border: 1px solid var(--g-border) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28) !important;
  z-index: 10000 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  transition: right 0.25s cubic-bezier(0.4, 0, 0.2, 1), width 0.2s ease, height 0.2s ease, transform 0.2s ease !important;
}

.gmail-compose-dock.hidden {
  display: none !important;
}

.gmail-compose-dock.minimized {
  height: 42px !important;
  width: 280px !important;
}

.gmail-compose-dock.minimized .gmail-compose-body {
  display: none !important;
}

.gmail-compose-dock.maximized {
  width: 82vw !important;
  height: 85vh !important;
  bottom: 7.5vh !important;
  right: 9vw !important;
  border-radius: 10px !important;
  z-index: 100005 !important;
}

/* Reposition compose dock when companion side drawer (Calendar / Keep / Tasks) is open */
@media (min-width: 768px) {
  body.agenda-drawer-open .gmail-compose-dock:not(.maximized),
  body:has(#gmail-agenda-drawer.open) #gmail-compose-dock:not(.maximized) {
    right: 360px !important;
    max-width: calc(100vw - 380px) !important;
  }
}

.gmail-compose-header {
  height: 42px !important;
  min-height: 42px !important;
  background: #f2f6fc !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 14px !important;
  border-bottom: 1px solid var(--g-border) !important;
  cursor: pointer !important;
  user-select: none !important;
}

html.dark-mode .gmail-compose-header {
  background: #2b2d30 !important;
}

.dock-title {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: var(--g-text) !important;
}

.dock-controls {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.dock-btn {
  width: 26px !important;
  height: 26px !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  color: var(--g-text-dim) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 13px !important;
  line-height: 1 !important;
  transition: background 0.15s, color 0.15s !important;
  padding: 0 !important;
  margin: 0 !important;
}

.dock-btn:hover {
  background: var(--g-hover) !important;
  color: var(--g-text) !important;
}

.gmail-compose-body {
  flex: 1 1 auto !important;
  display: flex !important;
  width: 100% !important;
  height: calc(100% - 42px) !important;
  overflow: hidden !important;
  background: var(--g-bg) !important;
}

#gmail-compose-frame {
  width: 100% !important;
  height: 100% !important;
  border: none !important;
  flex: 1 1 auto !important;
}


/* =========================================================================
   12. GOOGLE PROFILE / CONTACT FLOATING HOVER CARD
========================================================================= */
.gmail-profile-card {
  position: absolute !important;
  z-index: 10050 !important;
  width: 350px !important;
  background: var(--g-bg, #ffffff) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18), 0 1px 4px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid var(--g-border, #e0e2e0) !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  opacity: 0;
  transform: translateY(6px) scale(0.98);
  transition: opacity 0.18s cubic-bezier(0.4, 0, 0.2, 1), transform 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
  pointer-events: none;
  font-family: 'Google Sans', 'Inter', Roboto, sans-serif !important;
}

.gmail-profile-card.visible {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
  pointer-events: auto !important;
}

/* Invisible hit bridge covering the gap between sender and card */
.gmail-profile-card.visible::before {
  content: '' !important;
  position: absolute !important;
  top: -12px !important;
  left: 0 !important;
  right: 0 !important;
  height: 16px !important;
  background: transparent !important;
  pointer-events: auto !important;
  z-index: 1 !important;
}

.gmail-profile-card.visible.card-above::before {
  top: auto !important;
  bottom: -12px !important;
  height: 16px !important;
}

/* Dark Mode Theme */
html.dark-mode .gmail-profile-card {
  background: #282a2c !important;
  border-color: #444746 !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.45), 0 1px 4px rgba(0, 0, 0, 0.25) !important;
}

/* Top Header */
.gpc-header {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
  position: relative !important;
}

/* Avatar Monogram */
.gpc-avatar {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
}

/* Info Details */
.gpc-info {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.gpc-name {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--g-text, #1f1f1f) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.3 !important;
}

.gpc-email-row {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
  min-width: 0;
  width: 100%;
}

.gpc-email {
  font-size: 12px !important;
  color: var(--g-text-dim, #5f6368) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* Copy Button */
.gpc-copy-btn {
  background: transparent !important;
  border: none !important;
  padding: 3px !important;
  cursor: pointer !important;
  color: var(--g-text-dim, #5f6368) !important;
  display: inline-flex;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 4px !important;
  position: relative !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

#gmail-profile-card .gpc-hidden,
#gmail-profile-card .gpc-email-row.gpc-hidden,
#gmail-profile-card .gpc-copy-btn.gpc-hidden,
#gmail-profile-card .gpc-email.gpc-hidden,
#gmail-profile-card .gpc-email-row[style*="display: none"],
#gmail-profile-card .gpc-copy-btn[style*="display: none"],
#gmail-profile-card .gpc-email[style*="display: none"],
#gmail-profile-card .gpc-btn-send[style*="display: none"],
#gmail-profile-card .gpc-email:empty,
#gmail-profile-card .gpc-email:empty + .gpc-copy-btn,
#gmail-profile-card .gpc-email-row:has(.gpc-email:empty) {
  display: none !important;
}

.gpc-copy-btn:hover {
  background: var(--g-hover, #f1f3f4) !important;
  color: var(--g-text, #1f1f1f) !important;
}

html.dark-mode .gpc-copy-btn:hover {
  background: #3c4043 !important;
}

.gpc-copied-tooltip {
  position: absolute !important;
  top: -24px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #1f1f1f !important;
  color: #ffffff !important;
  font-size: 10px !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  opacity: 0;
  transition: opacity 0.15s ease !important;
  z-index: 10 !important;
}

.gpc-copied-tooltip.show {
  opacity: 1 !important;
}

/* Add Contact Button */
.gpc-add-contact {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: 1px solid var(--g-border, #e0e2e0) !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: var(--g-text-dim, #5f6368) !important;
  flex-shrink: 0 !important;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
}

.gpc-add-contact:hover {
  background: var(--g-hover, #f1f3f4) !important;
  color: #1a73e8 !important;
  border-color: #1a73e8 !important;
}

html.dark-mode .gpc-add-contact:hover {
  background: #3c4043 !important;
  color: #8ab4f8 !important;
  border-color: #8ab4f8 !important;
}

/* Actions Bar */
.gpc-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}

/* Send Mail Primary Pill */
.gpc-btn-send {
  flex: 1 1 auto !important;
  height: 36px !important;
  background: #c2e7ff !important;
  color: #001d35 !important;
  border-radius: 18px !important;
  border: none !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  padding: 0 16px !important;
  transition: background 0.15s ease, box-shadow 0.15s ease !important;
}

.gpc-btn-send:hover {
  background: #b3d7f5 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
}

html.dark-mode .gpc-btn-send {
  background: #004a77 !important;
  color: #c2e7ff !important;
}

html.dark-mode .gpc-btn-send:hover {
  background: #005a91 !important;
}

/* Icon Buttons (Chat, Calendar) */
.gpc-icon-btn {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 1px solid var(--g-border, #e0e2e0) !important;
  background: transparent !important;
  color: var(--g-text-dim, #5f6368) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
}

.gpc-icon-btn:hover {
  background: var(--g-hover, #f1f3f4) !important;
  color: #1a73e8 !important;
  border-color: #1a73e8 !important;
}

html.dark-mode .gpc-icon-btn:hover {
  background: #3c4043 !important;
  color: #8ab4f8 !important;
  border-color: #8ab4f8 !important;
}

/* Footer Link */
.gpc-footer {
  border-top: 1px solid var(--g-border, #e0e2e0) !important;
  padding-top: 10px !important;
  margin-top: 4px !important;
}

.gpc-footer-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #1a73e8 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: color 0.15s ease !important;
}

.gpc-footer-link:hover {
  color: #1557b0 !important;
  text-decoration: underline !important;
}

html.dark-mode .gpc-footer-link {
  color: #8ab4f8 !important;
}

html.dark-mode .gpc-footer-link:hover {
  color: #a8c7fa !important;
}

/* =========================================================================
   13. LEFT SIDEBAR SETTINGS NAVIGATION ITEM
========================================================================= */
.sidebar-settings-section {
  margin: 12px 0 8px 0 !important;
  padding: 8px 0 0 0 !important;
  border-top: 1px solid var(--g-border, #e0e2e0) !important;
}

.sidebar-settings-link {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  height: 34px !important;
  padding: 0 16px 0 24px !important;
  margin: 0 12px 0 0 !important;
  border-radius: 0 17px 17px 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--g-text, #1f1f1f) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  box-sizing: border-box !important;
}

.sidebar-settings-link:hover {
  background: var(--g-hover, #f1f3f4) !important;
  color: var(--g-text, #1f1f1f) !important;
  text-decoration: none !important;
}

html.dark-mode .sidebar-settings-link:hover {
  background: #333537 !important;
}

.sidebar-settings-svg {
  flex-shrink: 0 !important;
  color: var(--g-text-dim, #5f6368) !important;
  transition: color 0.15s ease !important;
}

.sidebar-settings-link:hover .sidebar-settings-svg {
  color: var(--g-text, #1f1f1f) !important;
}

html.dark-mode .sidebar-settings-link:hover .sidebar-settings-svg {
  color: #e3e3e3 !important;
}

.sidebar-settings-link .inner {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* ==========================================================================
   Gmail Smart Reply / Suggested Reply Card (AI Powered)
   ========================================================================== */

.gmail-smart-replies-wrapper {
  margin: 24px 0 16px 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  max-width: 640px !important;
  animation: fadeInSmartReplies 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
  clear: both !important;
}

@keyframes fadeInSmartReplies {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.gmail-smart-reply-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  user-select: none !important;
  padding: 0 2px !important;
}

.gmail-smart-reply-title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: 'Google Sans', Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--g-text, #1f1f1f) !important;
}

html.dark-mode .gmail-smart-reply-title {
  color: #e8eaed !important;
}

.gmail-smart-reply-title svg {
  flex-shrink: 0 !important;
  fill: #1a73e8 !important;
}

html.dark-mode .gmail-smart-reply-title svg {
  fill: #a8c7fa !important;
}

.gmail-smart-reply-feedback {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  color: var(--g-text-dim, #5f6368) !important;
  cursor: pointer !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

.gmail-smart-reply-feedback:hover {
  background: rgba(0, 0, 0, 0.06) !important;
  color: var(--g-text, #1f1f1f) !important;
}

html.dark-mode .gmail-smart-reply-feedback {
  color: #9aa0a6 !important;
}

html.dark-mode .gmail-smart-reply-feedback:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #e8eaed !important;
}

.gmail-smart-replies-cards {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

.gmail-smart-reply-card {
  display: block !important;
  padding: 20px 24px !important;
  border-radius: 16px !important;
  border: 1px solid var(--g-border, #dadce0) !important;
  background: #f8fafd !important;
  color: var(--g-text, #1f1f1f) !important;
  font-family: 'Google Sans', Roboto, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  box-shadow: 0 1px 3px rgba(60, 64, 67, 0.08) !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
  position: relative !important;
  user-select: none !important;
}

.gmail-smart-reply-card:hover {
  background: #f0f6ff !important;
  border-color: #1a73e8 !important;
  box-shadow: 0 4px 14px rgba(26, 115, 232, 0.18) !important;
  transform: translateY(-1px) !important;
}

.gmail-smart-reply-card:active {
  transform: translateY(0) !important;
  background: #e8f0fe !important;
}

html.dark-mode .gmail-smart-reply-card {
  background: #1e1e1e !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  color: #e8eaed !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}

html.dark-mode .gmail-smart-reply-card:hover {
  background: #25282c !important;
  border-color: #8ab4f8 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45) !important;
}

html.dark-mode .gmail-smart-reply-card:active {
  background: #1b2838 !important;
}

.gmail-smart-reply-card p {
  margin: 0 0 14px 0 !important;
  white-space: pre-wrap !important;
}

.gmail-smart-reply-card p:last-child {
  margin-bottom: 0 !important;
}

/* Skeleton Loading Card for Smart Replies */
.gmail-smart-reply-card-skeleton {
  display: block !important;
  height: 120px !important;
  border-radius: 16px !important;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%) !important;
  background-size: 200% 100% !important;
  animation: smartSkeletonShimmer 1.5s infinite !important;
  border: 1px solid transparent !important;
}

html.dark-mode .gmail-smart-reply-card-skeleton {
  background: linear-gradient(90deg, #202124 25%, #2d2e30 50%, #202124 75%) !important;
}

@keyframes smartSkeletonShimmer {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

/* ==========================================================================
   Gmail / RC+ Dark Theme Compose & Reply Screen Styling
   ========================================================================== */

/* =========================================================================
   11. GMAIL COMPOSE SCREEN & DOCK INTERFACE
========================================================================= */

/* Main Compose Screen Layout Flex */
body.action-compose,
body.action-compose #layout,
body.action-compose.task-mail #layout {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100vh !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--g-bg, #ffffff) !important;
  color: var(--g-text, #202124) !important;
}

/* Hide navigation sidebar rail completely in compose view */
body.action-compose #layout-menu,
body.action-compose.task-mail #layout-menu,
#gmail-compose-dock #layout-menu,
html.iframe #layout-menu {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  flex: 0 0 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

/* Hide options and attachments side panel by default in compose view */
body.action-compose #layout-sidebar,
body.action-compose #layout-sidebar.sidebar-right,
#layout>#layout-sidebar.sidebar-right {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  flex: 0 0 0 !important;
  visibility: hidden !important;
  overflow: hidden !important;
}

/* Main Compose Center Container: occupies 100% full width & height */
body.action-compose #layout>#layout-content,
body.action-compose #layout>#layout-content.hidden,
body.action-compose #layout-content,
body.action-compose #layout-content.hidden {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  background: var(--g-bg, #ffffff) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Hide duplicate top header in compose */
body.action-compose #layout-content>.header,
body.action-compose .header:not(#messagetoolbar) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

body.action-compose #layout-content {
  padding: 0 !important;
  margin: 0 !important;
  height: 100% !important;
  border: none !important;
  background: var(--g-bg, #ffffff) !important;
}

/* Compose Content Body Form */
body.action-compose #compose-content {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: calc(100vh - 52px) !important;
  max-height: calc(100dvh - 52px) !important;
  padding: 0 16px 60px 16px !important;
  margin: 0 !important;
  background: var(--g-bg, #ffffff) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Toolbar below the Subject area: hidden by default to eliminate blank space */
.compose-subject-toolbar,
#compose-content>#messagetoolbar,
#messagetoolbar {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
  overflow: hidden !important;
}

#compose-content>#messagetoolbar:has(a.button),
#compose-content>#messagetoolbar:has(button),
.compose-subject-toolbar:has(a.button),
.compose-subject-toolbar:has(button) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  padding: 4px 8px !important;
  margin: 2px 0 6px 0 !important;
  border-bottom: 1px solid var(--g-border, #e8eaed) !important;
  background: var(--g-bg, #ffffff) !important;
  gap: 4px !important;
  min-height: 34px !important;
  max-height: none !important;
  box-sizing: border-box !important;
}

.compose-subject-toolbar a.button,
#compose-content>#messagetoolbar a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 28px !important;
  padding: 0 10px !important;
  border-radius: 4px !important;
  font-size: 12.5px !important;
  font-family: 'Google Sans', Roboto, sans-serif !important;
  color: var(--g-text, #3c4043) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.15s ease, border-color 0.15s ease !important;
}

.compose-subject-toolbar a.button:hover,
#compose-content>#messagetoolbar a.button:hover {
  background: var(--g-hover, #f1f3f4) !important;
  border-color: var(--g-border, #dadce0) !important;
}

.compose-subject-toolbar a.button.send,
#compose-content>#messagetoolbar a.button.send {
  background: #1a73e8 !important;
  color: #ffffff !important;
  font-weight: 500 !important;
  padding: 0 14px !important;
  border-radius: 16px !important;
}

.compose-subject-toolbar a.button.send:hover,
#compose-content>#messagetoolbar a.button.send:hover {
  background: #1557b0 !important;
}

html.dark-mode .compose-subject-toolbar,
html.dark-mode #compose-content>#messagetoolbar {
  background: var(--g-bg, #202124) !important;
  border-bottom-color: var(--g-border, #3c4043) !important;
}

html.dark-mode .compose-subject-toolbar a.button,
html.dark-mode #compose-content>#messagetoolbar a.button {
  color: var(--g-text, #e8eaed) !important;
}

html.dark-mode .compose-subject-toolbar a.button:hover,
html.dark-mode #compose-content>#messagetoolbar a.button:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: #5f6368 !important;
}

body.action-compose form#form,
body.action-compose form.formcontent,
body.action-compose .formcontent {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

#compose-objects {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Header Fields (From, To, Cc, Bcc, Subject) */
#compose-headers {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.compose-headers-table {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.compose-header-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: 100% !important;
  border-bottom: 1px solid var(--g-border, #e8eaed) !important;
  padding: 4px 0 !important;
  min-height: 38px !important;
  box-sizing: border-box !important;
}

.compose-header-row.hidden {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  visibility: hidden !important;
}

#compose_from {
  display: flex !important;
}

/* Suppress Elastic right sidebar in compose so Close box never appears */
body.action-compose #layout-sidebar,
body.action-compose .sidebar-right,
body.action-compose .layout-sidebar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Suppress big drop target icon and dashed box */
#compose-attachments:after,
.compose-attachments-box:after,
.compose-attachments-box.droptarget:after,
.file-upload.droptarget:after {
  content: none !important;
  display: none !important;
}

.compose-attachments-box {
  padding: 0 !important;
  border: none !important;
  margin: 0 !important;
  min-height: 0 !important;
}

.compose-header-row .header-label {
  font-family: 'Google Sans', Roboto, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: var(--g-text-dim, #5f6368) !important;
  width: 44px !important;
  flex: 0 0 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  user-select: none !important;
}

.compose-header-row .header-input-wrap {
  flex: 1 1 auto !important;
  width: calc(100% - 44px) !important;
  display: flex !important;
  align-items: center !important;
}

.compose-header-row .header-input-wrap.full-width {
  width: 100% !important;
}

/* Minimalist borderless inputs like Gmail */
.compose-header-row .input-group {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  min-height: 32px !important;
  height: auto !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  padding: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

select#_from,
.compose-header-row select.form-control {
  border: none !important;
  background: transparent !important;
  color: var(--g-text, #202124) !important;
  font-size: 13.5px !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 32px !important;
  flex: 1 1 auto !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer !important;
}

.recipient-input {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  flex: 1 1 auto !important;
  min-height: 32px !important;
}

.recipient-input input {
  border: none !important;
  background: transparent !important;
  color: var(--g-text, #202124) !important;
  padding: 0 4px !important;
  margin: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  height: 32px !important;
  font-size: 14px !important;
  flex: 1 1 auto !important;
  min-width: 120px !important;
}

#compose-subject {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  color: var(--g-text, #202124) !important;
  font-size: 14px !important;
  font-family: Roboto, sans-serif !important;
  padding: 8px 0 !important;
  height: 36px !important;
  width: 100% !important;
  box-shadow: none !important;
  outline: none !important;
  box-sizing: border-box !important;
}

#compose-subject::placeholder {
  color: var(--g-text-dim, #5f6368) !important;
  opacity: 0.8 !important;
}

.compose-header-row .input-group-append {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;
}

.compose-header-row .input-group-append .input-group-text {
  background: transparent !important;
  border: none !important;
  color: var(--g-text-dim, #5f6368) !important;
  cursor: pointer !important;
  padding: 0 4px !important;
  display: inline-flex !important;
  align-items: center !important;
}

.compose-header-row .input-group-append .input-group-text:hover {
  color: var(--g-text, #202124) !important;
}

/* Cc / Bcc Trigger Links */
.cc-bcc-triggers {
  display: flex !important;
  gap: 8px !important;
}

.header-link.cc-link,
.header-link.bcc-link {
  color: var(--g-text-dim, #5f6368) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  transition: all 0.15s ease !important;
}

.header-link.cc-link:hover,
.header-link.bcc-link:hover {
  background: var(--g-hover, #f1f3f4) !important;
  color: var(--g-text, #202124) !important;
}

/* Recipient Pills inside To */
.recipient.badge,
.recipient-input .recipient {
  background: var(--g-hover, #f1f3f4) !important;
  border: 1px solid var(--g-border, #dadce0) !important;
  color: var(--g-text, #202124) !important;
  border-radius: 16px !important;
  padding: 2px 10px !important;
  font-size: 13px !important;
  margin: 2px 6px 2px 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: 20px !important;
}

/* Scrollable Area covering Message Body and Attachments */
.compose-body-scroll-container,
#compose-body-scroll-container {
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  padding-right: 4px !important;
}

/* Editor Container & White/Dark Canvas */
#composebodycontainer {
  flex: 1 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  margin-top: 4px !important;
  min-height: 220px !important;
  height: 240px !important;
  overflow: hidden !important;
}

#composebodycontainer .tox-tinymce {
  height: 100% !important;
  min-height: 100% !important;
  flex: 1 1 auto !important;
}

#composebody {
  background: transparent !important;
  color: var(--g-text, #202124) !important;
  border: none !important;
  outline: none !important;
  padding: 8px 0 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  font-family: Roboto, sans-serif !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 200px !important;
  resize: none !important;
  box-shadow: none !important;
  overflow-y: auto !important;
}

/* TinyMCE in Compose (Gmail style: toolbar at bottom, clean full-height typing area) */
div.tox.tox-tinymce {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
  box-shadow: none !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

div.tox .tox-editor-container {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

div.tox .tox-sidebar-wrap {
  order: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

div.tox .tox-edit-area {
  order: 1 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  min-height: 0 !important;
  height: 100% !important;
  width: 100% !important;
}

div.tox .tox-edit-area__iframe,
iframe#composebody_ifr {
  background: var(--g-bg, #ffffff) !important;
  color: var(--g-text, #202124) !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  min-height: 0 !important;
  width: 100% !important;
  border: none !important;
  display: block !important;
}

/* TinyMCE formatting toolbar below Subject (matching user Image 1 & 2) */
div.tox .tox-editor-header {
  order: 1 !important;
  border-bottom: 1px solid var(--g-border, #e8eaed) !important;
  border-top: none !important;
  background: var(--g-bg, #ffffff) !important;
  display: block !important;
  padding: 2px 0 !important;
}

div.tox .tox-toolbar-overlord>div,
div.tox .tox-toolbar,
div.tox .tox-toolbar__primary,
div.tox .tox-toolbar__overflow {
  background: var(--g-bg, #ffffff) !important;
  border: none !important;
  color: var(--g-text-dim, #5f6368) !important;
}

div.tox .tox-tbtn {
  height: 28px !important;
  width: auto !important;
  margin: 1px 2px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
}

div.tox .tox-tbtn:hover {
  background: var(--g-hover, #f1f3f4) !important;
}

div.tox .tox-tbtn--enabled {
  background: #e8f0fe !important;
  color: #1a73e8 !important;
}

/* Hide TinyMCE footer / path statusbar */
div.tox .tox-statusbar {
  display: none !important;
}

/* Hide the editor mode toggle link (HTML/Plain text toggle icon) */
#editor-selector,
.editor-selector {
  display: none !important;
}

/* Embedded Attachment Chips */
#compose-attachments,
.compose-attachments-box {
  flex: 0 0 auto !important;
  margin: 10px 0 6px 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

#attachment-list,
.attachmentslist {
  width: 100% !important;
  margin: 4px 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

#attachment-list li,
.attachmentslist li {
  background: var(--g-hover, #f1f3f4) !important;
  border: 1px solid var(--g-border, #dadce0) !important;
  border-radius: 8px !important;
  color: var(--g-text, #202124) !important;
  padding: 4px 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 13px !important;
}

#attachment-list li a,
.attachmentslist li a {
  color: var(--g-text, #202124) !important;
  text-decoration: none !important;
}

/* ── Compose Top Bar with Back Button ── */
.compose-topbar {
  display: flex !important;
  align-items: center !important;
  padding: 8px 12px !important;
  border-bottom: 1px solid var(--g-border, #e8eaed) !important;
  background: var(--g-bg, #ffffff) !important;
  gap: 8px !important;
}

/* Hide topbar inside docked iframe */
html.iframe .compose-topbar {
  display: none !important;
}

/* Hide mobile compose topbar action buttons on desktop */
.compose-topbar-actions {
  display: none;
}
html.iframe .compose-topbar-actions {
  display: none !important;
}

.compose-back-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  color: var(--g-text-secondary, #5f6368) !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
  flex-shrink: 0 !important;
}

.compose-back-btn:hover {
  background: var(--g-hover, #f1f3f4) !important;
  color: var(--g-text, #202124) !important;
}

.compose-topbar-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--g-text, #202124) !important;
  font-family: 'Google Sans', Roboto, Arial, sans-serif !important;
}

/* ── Attachment Delete/Remove Button on each chip ── */
.gmail-attach-remove-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  color: var(--g-text-secondary, #5f6368) !important;
  cursor: pointer !important;
  transition: background 0.15s, color 0.15s !important;
  margin-left: 2px !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}

.gmail-attach-remove-btn:hover {
  background: rgba(0, 0, 0, 0.08) !important;
  color: #d93025 !important;
}

/* Hide the Elastic dropdown arrow on attachment chips */
#attachment-list li a.button.dropdown,
#attachment-list li a.dropdown,
.attachmentslist li a.button.dropdown,
.attachmentslist li a.dropdown {
  display: none !important;
}

/* ── Dark Mode overrides ── */
html.dark-mode .compose-topbar,
body.dark-mode .compose-topbar {
  background: var(--g-bg, #1e252b) !important;
  border-bottom-color: var(--g-border, #3c4043) !important;
}

html.dark-mode .compose-back-btn,
body.dark-mode .compose-back-btn {
  color: var(--g-text-secondary, #9aa0a6) !important;
}

html.dark-mode .compose-back-btn:hover,
body.dark-mode .compose-back-btn:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #e8eaed !important;
}

html.dark-mode .compose-topbar-title,
body.dark-mode .compose-topbar-title {
  color: var(--g-text, #e8eaed) !important;
}

html.dark-mode .gmail-attach-remove-btn,
body.dark-mode .gmail-attach-remove-btn {
  color: #9aa0a6 !important;
}

html.dark-mode .gmail-attach-remove-btn:hover,
body.dark-mode .gmail-attach-remove-btn:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #f28b82 !important;
}

/* Hide Elastic mobile footer toolbar that steals the send button */
body.action-compose #layout-content>.footer,
body.action-compose .floating-action-buttons,
body.action-compose .footer.toolbar {
  display: none !important;
}

/* Bottom Action Bar (Authentic Gmail Style) */
body.action-compose .formbuttons,
html.layout-small body.action-compose .formbuttons,
html.layout-phone body.action-compose .formbuttons {
  margin-top: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 8px 16px 8px 16px !important;
  border-top: 1px solid var(--g-border, #e8eaed) !important;
  background: var(--g-bg, #ffffff) !important;
  min-height: 48px !important;
  box-sizing: border-box !important;
}

.formbuttons-left {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex: 1 1 auto !important;
}

.formbuttons-right {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

/* Google Blue Send Group Capsule */
.gmail-send-group {
  display: inline-flex !important;
  align-items: center !important;
  background: #1a73e8 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
  transition: all 0.15s ease !important;
}

.gmail-send-group:hover {
  background: #1557b0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

.gmail-send-group .gmail-send-main-btn,
.formbuttons .btn-primary.send {
  background: transparent !important;
  color: #ffffff !important;
  border: none !important;
  padding: 0 16px !important;
  height: 36px !important;
  line-height: 36px !important;
  font-family: 'Google Sans', Roboto, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border-radius: 20px 0 0 20px !important;
  cursor: pointer !important;
  outline: none !important;
}

.gmail-send-dropdown-btn {
  background: transparent !important;
  color: #ffffff !important;
  border: none !important;
  border-left: 1px solid rgba(255, 255, 255, 0.25) !important;
  padding: 0 8px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  border-radius: 0 20px 20px 0 !important;
  outline: none !important;
}

.gmail-send-dropdown-btn:hover {
  background: rgba(0, 0, 0, 0.1) !important;
}

/* Action Icons next to Send button */
.compose-actions-group {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
}

.compose-icon-btn,
.compose-actions-group a.button.icon,
.compose-actions-group a.button,
.formbuttons .compose-icon-btn {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--g-text-dim, #5f6368) !important;
  text-decoration: none !important;
  border: none !important;
  background: transparent !important;
  cursor: pointer !important;
  outline: none !important;
  padding: 0 !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

.compose-icon-btn:hover,
.compose-actions-group a.button.icon:hover,
.compose-actions-group a.button:hover {
  background: var(--g-hover, #f1f3f4) !important;
  color: var(--g-text, #202124) !important;
}

.compose-icon-btn.trash-btn:hover {
  color: #d93025 !important;
  background: rgba(217, 48, 37, 0.1) !important;
}

/* More Options Popup Menu */
.gmail-compose-menu-popup {
  position: absolute !important;
  background: var(--g-bg, #ffffff) !important;
  border: 1px solid var(--g-border, #dadce0) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18) !important;
  padding: 6px 0 !important;
  min-width: 220px !important;
  z-index: 99999 !important;
}

.gmail-compose-menu-popup ul.menu {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gmail-compose-menu-popup li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gmail-compose-menu-popup .menu-item-link,
.gmail-compose-menu-popup a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  color: var(--g-text, #202124) !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
}

.gmail-compose-menu-popup .menu-item-link:hover,
.gmail-compose-menu-popup a:hover {
  background: var(--g-hover, #f1f3f4) !important;
}

.gmail-compose-menu-popup .menu-icon {
  width: 16px !important;
  text-align: center !important;
  font-size: 14px !important;
  color: var(--g-text-dim, #5f6368) !important;
}

.gmail-compose-menu-popup li.separator {
  height: 1px !important;
  background: var(--g-border, #e8eaed) !important;
  margin: 4px 0 !important;
  padding: 0 !important;
}

/* ==========================================================================
   Unified Gmail Hover Action Pill (.listing-hover-menu)
   ========================================================================== */

.gmail-quick-actions {
  display: none !important;
}

.listing-hover-menu {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  padding: 2px 6px !important;
  border-radius: 20px !important;
  background: var(--g-bg, #ffffff) !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(0, 0, 0, 0.12) !important;
  height: 32px !important;
  box-sizing: border-box !important;
  z-index: 100 !important;
}

.listing-hover-menu span.txt {
  display: none !important;
}

html.dark-mode .listing-hover-menu {
  background: #283540 !important;
  border-color: #37474f !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

.listing-hover-menu a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  margin: 0 1px !important;
  padding: 0 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  color: var(--g-text-dim, #5f6368) !important;
  transition: all 0.15s ease !important;
}

.listing-hover-menu a.button.d-none {
  display: none !important;
}

.listing-hover-menu a.button:hover {
  background: rgba(0, 0, 0, 0.08) !important;
  color: var(--g-text, #202124) !important;
}

html.dark-mode .listing-hover-menu a.button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
}

/* Move to folder icon */
.listing-hover-menu a.button.move,
.listing-hover-menu a.button[data-flag="moveto"] {
  display: inline-flex !important;
}

.listing-hover-menu a.button.move::before,
.listing-hover-menu a.button[data-flag="moveto"]::before {
  content: "\f07b" !important;
  /* fa-folder */
  font-family: 'Font Awesome 5 Free', 'Icons', sans-serif !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  color: inherit !important;
}

/* Floating "Move to" Folder Menu Dropdown */
.gmail-moveto-menu {
  position: fixed;
  z-index: 99999;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.24), 0 0 2px rgba(0, 0, 0, 0.12);
  width: 220px;
  max-height: 320px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: 'Google Sans', Roboto, sans-serif;
  border: 1px solid rgba(0, 0, 0, 0.08);
  animation: gmmFadeIn 0.15s ease-out;
}

html.dark-mode .gmail-moveto-menu {
  background: #242e37;
  border-color: #37474f;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.5);
  color: #eceff1;
}

@keyframes gmmFadeIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.gmm-header {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

html.dark-mode .gmm-header {
  border-bottom-color: #37474f;
}

.gmm-search {
  width: 100%;
  border: 1px solid #dadce0;
  border-radius: 4px;
  padding: 6px 10px;
  font-size: 13px;
  outline: none;
  box-sizing: border-box;
}

html.dark-mode .gmm-search {
  background: #11161a;
  border-color: #37474f;
  color: #eceff1;
}

.gmm-search:focus {
  border-color: #0078d4;
}

.gmm-list {
  padding: 4px 0;
  overflow-y: auto;
  max-height: 250px;
}

.gmm-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  font-size: 13.5px;
  color: #202124;
  cursor: pointer;
  transition: background 0.15s ease;
}

html.dark-mode .gmm-item {
  color: #cfd8dc;
}

.gmm-item:hover {
  background: #f1f3f4;
  color: #0078d4;
}

html.dark-mode .gmm-item:hover {
  background: #2f3e4d;
  color: #ffffff;
}

.gmm-item.gmm-current {
  opacity: 0.5;
  cursor: default;
}

.gmm-icon {
  font-size: 16px;
  line-height: 1;
}

.gmm-name {
  flex: 1 1 auto;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gmm-badge {
  font-size: 10.5px;
  background: #e8f0fe;
  color: #1a73e8;
  padding: 1px 6px;
  border-radius: 10px;
}

html.dark-mode .gmm-badge {
  background: #1e2933;
  color: #8ab4f8;
}

.gmm-empty {
  padding: 12px;
  text-align: center;
  font-size: 12.5px;
  color: #8091a5;
}

/* ==========================================================================
   Gmail-Style Full-Screen Attachment Preview Lightbox
   ========================================================================== */
.gmail-attach-preview-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(18, 18, 18, 0.92) !important;
  z-index: 999999 !important;
  display: none !important;
  flex-direction: column !important;
  backdrop-filter: blur(4px) !important;
}

.gmail-attach-preview-overlay.active {
  display: flex !important;
  animation: gapFadeIn 0.2s ease-out;
}

@keyframes gapFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.gap-header {
  height: 56px;
  background: rgba(32, 33, 36, 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  color: #e8eaed;
  flex-shrink: 0;
}

.gap-file-info {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.gap-file-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.gap-file-name {
  font-size: 15px;
  font-weight: 500;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 500px;
}

.gap-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gap-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 36px;
  padding: 0 14px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.15s ease;
}

.gap-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.4);
}

.gap-btn.gap-btn-icon {
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
}

.gap-body {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  padding: 20px;
  position: relative;
}

.gap-body img {
  max-width: 90vw;
  max-height: 82vh;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  background: #ffffff;
}

.gap-body iframe {
  width: 85vw;
  height: 82vh;
  border: none;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  background: #ffffff;
}

.gap-unsupported {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  background: #202124;
  padding: 40px 50px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
  color: #e8eaed;
  text-align: center;
}

.gap-unsupported-icon {
  font-size: 48px;
}

.gap-unsupported-text {
  font-size: 15px;
  color: #9aa0a6;
}

/* ==========================================================================
   Gmail Message Header Card (Sender, Avatar, Recipient, Timestamp, Actions)
   ========================================================================== */
.gmail-msg-header-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  margin-top: 6px !important;
  margin-bottom: 8px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid var(--g-border) !important;
}

.gmail-msg-avatar {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important;
}

.gmail-msg-header-main {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.gmail-msg-row-top {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
}

.gmail-msg-sender-info {
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  min-width: 0 !important;
}

.gmail-msg-from-name {
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: var(--g-text) !important;
  line-height: 20px !important;
}

.gmail-msg-from-email {
  font-size: 12.5px !important;
  color: var(--g-text-dim) !important;
}

.gmail-msg-right-meta {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

.gmail-msg-date {
  font-size: 12px !important;
  color: var(--g-text-dim) !important;
  white-space: nowrap !important;
}

.gmail-msg-actions {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.gmail-hdr-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  color: var(--g-text-dim) !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  text-decoration: none !important;
  font-size: 16px !important;
}

.gmail-hdr-btn:hover {
  background: var(--g-hover) !important;
  color: var(--g-text) !important;
}

.gmail-hdr-btn.flagged {
  color: #fbbc04 !important;
}

.gmail-msg-row-bottom {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 12.5px !important;
  color: var(--g-text-dim) !important;
}

.gmail-msg-to-label {
  color: var(--g-text-dim) !important;
  font-size: 12.5px !important;
}

.gmail-msg-details-toggle {
  background: transparent !important;
  border: none !important;
  color: var(--g-text-dim) !important;
  font-size: 10px !important;
  cursor: pointer !important;
  padding: 2px 4px !important;
  border-radius: 4px !important;
  transition: background 0.15s ease !important;
}

.gmail-msg-details-toggle:hover {
  background: var(--g-hover) !important;
  color: var(--g-text) !important;
}

.gmail-msg-details-card {
  display: none !important;
  margin-top: 8px !important;
  padding: 12px 16px !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1) !important;
  max-width: 480px !important;
}

.gmail-msg-details-card.open {
  display: block !important;
}

html.dark-mode .gmail-msg-details-card {
  background: #202124 !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}

.gmail-details-table {
  border-collapse: collapse !important;
  font-size: 12.5px !important;
  width: 100% !important;
}

.gmail-details-table td {
  padding: 3px 6px !important;
  vertical-align: top !important;
}

.gmail-details-table td.dt-label {
  color: var(--g-text-dim) !important;
  font-weight: 500 !important;
  text-align: right !important;
  width: 70px !important;
}

.gmail-details-table td.dt-val {
  color: var(--g-text) !important;
  word-break: break-all !important;
}

/* Lightbox CSV & Text Preview */
.gap-csv-wrap {
  width: 90%;
  max-width: 1000px;
  max-height: 80vh;
  overflow: auto !important;
  background: #ffffff !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
  margin: auto !important;
}

.gap-csv-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 13px !important;
  font-family: Roboto, monospace !important;
  color: #202124 !important;
}

.gap-csv-table th {
  background: #f1f3f4 !important;
  color: #202124 !important;
  font-weight: 600 !important;
  padding: 8px 12px !important;
  border: 1px solid #dadce0 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
}

.gap-csv-table td {
  padding: 6px 12px !important;
  border: 1px solid #e8eaed !important;
  white-space: nowrap !important;
}

.gap-csv-table tr:nth-child(even) td {
  background: #f8f9fa !important;
}

.gap-text-preview {
  width: 85%;
  max-width: 900px;
  max-height: 75vh;
  overflow: auto !important;
  background: #1e1e1e !important;
  color: #d4d4d4 !important;
  padding: 16px !important;
  border-radius: 8px !important;
  font-family: Consolas, Monaco, monospace !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin: auto !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
  white-space: pre-wrap !important;
}

/* Lightbox Loading Spinner */
.gap-loading-spinner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  margin: auto !important;
  gap: 16px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

.gap-spinner {
  width: 44px !important;
  height: 44px !important;
  border: 4px solid rgba(255, 255, 255, 0.2) !important;
  border-top-color: #1a73e8 !important;
  border-radius: 50% !important;
  animation: gapSpin 0.8s linear infinite !important;
}

@keyframes gapSpin {
  to {
    transform: rotate(360deg);
  }
}

/* Lightbox Word (.docx) Document Viewer */
.gap-docx-wrapper {
  width: 100% !important;
  height: calc(100vh - 56px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: #525659 !important;
  padding: 24px 16px !important;
  box-sizing: border-box !important;
  display: block !important;
}

.gap-docx-paper {
  background: #ffffff !important;
  color: #202124 !important;
  max-width: 850px !important;
  min-height: 1050px !important;
  margin: 0 auto 32px auto !important;
  padding: 56px 64px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35) !important;
  border-radius: 4px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 14.5px !important;
  line-height: 1.65 !important;
  word-wrap: break-word !important;
  box-sizing: border-box !important;
}

.gap-docx-paper h1 {
  font-size: 26px !important;
  font-weight: 600 !important;
  margin: 24px 0 12px 0 !important;
  color: #1a73e8 !important;
}

.gap-docx-paper h2 {
  font-size: 20px !important;
  font-weight: 600 !important;
  margin: 20px 0 10px 0 !important;
  color: #202124 !important;
}

.gap-docx-paper h3 {
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 16px 0 8px 0 !important;
  color: #3c4043 !important;
}

.gap-docx-paper p {
  margin: 0 0 12px 0 !important;
}

.gap-docx-paper ul,
.gap-docx-paper ol {
  padding-left: 28px !important;
  margin: 0 0 12px 0 !important;
}

.gap-docx-paper table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 16px 0 !important;
  font-size: 13.5px !important;
}

.gap-docx-paper table td,
.gap-docx-paper table th {
  border: 1px solid #dadce0 !important;
  padding: 8px 12px !important;
  vertical-align: top !important;
}

.gap-docx-paper table th {
  background: #f1f3f4 !important;
  font-weight: 600 !important;
}

.gap-docx-paper img {
  max-width: 100% !important;
  height: auto !important;
  margin: 12px 0 !important;
}

/* Lightbox Excel (.xlsx, .xls) Spreadsheet Viewer */
.gap-xlsx-wrapper {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: calc(100vh - 56px) !important;
  background: #f8f9fa !important;
  overflow: hidden !important;
}

.gap-xlsx-sheets {
  flex: 1 1 auto !important;
  overflow: auto !important;
  position: relative !important;
  background: #ffffff !important;
}

.gap-xlsx-sheet-pane {
  display: none !important;
  padding: 16px !important;
  min-width: 100% !important;
  box-sizing: border-box !important;
}

.gap-xlsx-sheet-pane.active {
  display: block !important;
}

.gap-xlsx-sheet-pane table {
  border-collapse: collapse !important;
  font-family: Calibri, Segoe UI, Roboto, sans-serif !important;
  font-size: 12.5px !important;
  color: #202124 !important;
  width: max-content !important;
  min-width: 100% !important;
  background: #ffffff !important;
}

.gap-xlsx-sheet-pane th,
.gap-xlsx-sheet-pane td {
  border: 1px solid #d3d3d3 !important;
  padding: 4px 10px !important;
  white-space: nowrap !important;
  height: 22px !important;
  line-height: 22px !important;
}

.gap-xlsx-sheet-pane tr:first-child td,
.gap-xlsx-sheet-pane tr:first-child th {
  background: #f3f3f3 !important;
  font-weight: 600 !important;
  color: #3c4043 !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  border-bottom: 2px solid #b0b0b0 !important;
}

.gap-xlsx-sheet-pane tr:hover td {
  background: #f1f8ff !important;
}

.gap-xlsx-tabs {
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  background: #e8eaed !important;
  border-top: 1px solid #dadce0 !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 12px !important;
  gap: 6px !important;
  overflow-x: auto !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

.gap-xlsx-tab {
  height: 28px !important;
  line-height: 28px !important;
  padding: 0 16px !important;
  border: 1px solid #dadce0 !important;
  border-bottom: none !important;
  border-radius: 4px 4px 0 0 !important;
  background: #f1f3f4 !important;
  color: #3c4043 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background 0.15s ease, color 0.15s ease !important;
}

.gap-xlsx-tab:hover {
  background: #e2e5e9 !important;
  color: #202124 !important;
}

.gap-xlsx-tab.active {
  background: #ffffff !important;
  color: #0f9d58 !important;
  font-weight: 700 !important;
  border-top: 2px solid #0f9d58 !important;
  border-bottom: 1px solid #ffffff !important;
  box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.08) !important;
}

/* =========================================================================
   SPLIT-VIEW HEADER â€” TWO ZONES ALIGNED TO THE COLUMN BOUNDARY
   -------------------------------------------------------------------------
   The header is not one bar: it is the list column's header (#messagelist-header,
   inside #layout-list) sitting beside the preview column's header
   (#layout-content > .header). The vertical divider between them IS
   #layout-list's own border-right, so it lands exactly on the column boundary
   by construction â€” nothing here may add padding, margin or phantom buttons
   that shift a zone away from its own column.

   Zone A (list column, 380px):  select Â· refresh Â· options       â€” centered
   Zone B (preview column):      back | reply Â· reply-all Â· forward Â·
                                 delete Â· mark Â· move Â· more      â€” left aligned
========================================================================= */

/* â”€â”€ Zone A: list-column header â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
html body #layout.has-message-open #messagelist-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
}

html body #layout.has-message-open #messagelist-header .toolbar,
html body #layout.has-message-open #messagelist-header #toolbar-list-menu {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  white-space: nowrap !important;
  pointer-events: auto !important;
}

/* Message-scoped actions belong to Zone B while the preview is open. Remove
   them from flow entirely (display:none, not visibility/opacity) â€” leaving
   them in flow reserves ~160px of blank space that pushes the visible icons
   off-centre and makes the divider read as misaligned. */
html body #layout.has-message-open #messagelist-header .toolbar a.delete,
html body #layout.has-message-open #messagelist-header .toolbar a.markmessage,
html body #layout.has-message-open #messagelist-header .toolbar a.move,
html body #layout.has-message-open #messagelist-header .toolbar a.more,
html body #layout.has-message-open #messagelist-header .toolbar span.dropbutton,
html body #layout.has-message-open #toolbar-list-menu a.delete,
html body #layout.has-message-open #toolbar-list-menu a.markmessage,
html body #layout.has-message-open #toolbar-list-menu a.move,
html body #layout.has-message-open #toolbar-list-menu a.more {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body #layout.has-message-open #messagelist-header .toolbar a.select,
html body #layout.has-message-open #messagelist-header .toolbar a.refresh,
html body #layout.has-message-open #messagelist-header .toolbar a.options,
html body #layout.has-message-open #toolbar-list-menu a.options {
  display: inline-flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* â”€â”€ Zone B: preview-column header â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
html body.task-mail #layout.has-message-open #layout-content>.header,
html body.mail #layout.has-message-open #layout-content>.header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Back arrow flows as the first item â€” not absolutely positioned â€” so the
   toolbar that follows starts at a predictable offset from the pane edge. */
html body.task-mail #layout.has-message-open #layout-content>.header a.close-preview-btn,
html body.mail #layout.has-message-open #layout-content>.header a.close-preview-btn {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  order: -1 !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  visibility: visible !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  height: 32px !important;
  margin: 0 16px 0 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  overflow: visible !important;
  z-index: 2 !important;
  pointer-events: auto !important;
}

html body.task-mail #layout.has-message-open #layout-content>.header #mailtoolbar,
html body.mail #layout.has-message-open #layout-content>.header #mailtoolbar,
html body.task-mail #layout.has-message-open #layout-content>.header .toolbar,
html body.mail #layout.has-message-open #layout-content>.header .toolbar {
  position: static !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  display: inline-flex !important;
  visibility: visible !important;
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  z-index: 1 !important;
  pointer-events: auto !important;
}

html body #layout.has-message-open #layout-content>.header #mailtoolbar a,
html body #layout.has-message-open #layout-content>.header #mailtoolbar button,
html body #layout.has-message-open #layout-content>.header #mailtoolbar .dropbutton,
html body #layout.has-message-open #layout-content>.header #mailtoolbar .dropbutton>a {
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Reply-all / forward carry a caret; keep the pair as one unit so the 36px
   rhythm of the row is preserved. */
html body #layout.has-message-open #layout-content>.header #mailtoolbar .dropbutton {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================================
   SEARCH FILTER CHIPS â€” HIDDEN UNTIL THE SEARCH BAR IS ENGAGED
   The chip row is a search affordance, not permanent chrome: it costs a whole
   row of list height on every screen. gmail.js toggles body.gmail-search-open
   on focus/click of the search box and keeps it open while a query is typed or
   any filter is active, so applied filters stay visible.
   Placed last so the plain-class hide beats the display:flex rule above it.
========================================================================= */
.gmail-search-filter-chips {
  display: none !important;
}

body.gmail-search-open .gmail-search-filter-chips {
  display: flex !important;
}

/* =========================================================================
   COMPOSE: dock window controls + formatting toolbar
========================================================================= */

/* Minimize / full-screen / close are inline SVG (was mojibake text glyphs,
   which double-encoded to "a"E a<Â¢ a(c)*"). SVG is encoding-proof. */
.dock-btn svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  fill: none !important;
  pointer-events: none !important;
}

.dock-controls {
  gap: 2px !important;
}

/* Formatting toolbar sits under Subject and is visible by default; the "Aa"
   button hides it by putting .gmail-format-off on the compose body. */
body.gmail-format-off div.tox .tox-editor-header {
  display: none !important;
}

/* =========================================================================
   GMAIL COMPOSE - CLEAN MODERN FORMATTING TOOLBAR
   ========================================================================= */
div.tox .tox-editor-header {
  background: var(--g-bg, #ffffff) !important;
  border-bottom: 1px solid var(--g-border, #e0e6ed) !important;
  padding: 2px 4px !important;
  box-shadow: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

div.tox .tox-toolbar-overlord {
  background: transparent !important;
  border: none !important;
  width: 100% !important;
}

div.tox .tox-toolbar-overlord>div,
div.tox .tox-toolbar,
div.tox .tox-toolbar__primary,
div.tox .tox-toolbar__overflow {
  background: var(--g-bg, #ffffff) !important;
  background-image: none !important;
  border: none !important;
  padding: 2px 0 !important;
  color: var(--g-text-dim, #5f6368) !important;
}

/* Button groups with subtle dividers */
div.tox .tox-toolbar__group {
  padding: 0 3px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

div.tox .tox-toolbar__group:not(:last-of-type) {
  border-right: 1px solid rgba(0, 0, 0, 0.1) !important;
  margin-right: 3px !important;
}

html.dark-mode div.tox .tox-toolbar__group:not(:last-of-type) {
  border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
}

/* Sleek Google-style buttons */
div.tox .tox-tbtn {
  height: 28px !important;
  min-width: 28px !important;
  margin: 0 1px !important;
  padding: 0 3px !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  color: #444746 !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

div.tox .tox-tbtn svg {
  fill: #444746 !important;
}

div.tox .tox-tbtn:hover {
  background: rgba(0, 0, 0, 0.06) !important;
}

div.tox .tox-tbtn--enabled {
  background: #d3e3fd !important;
  color: #0b57d0 !important;
}

div.tox .tox-tbtn--enabled svg {
  fill: #0b57d0 !important;
}

/* Font and Font-size select dropdowns */
div.tox .tox-tbtn--select {
  height: 26px !important;
  padding: 0 6px !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  background: #ffffff !important;
  color: #1f1f1f !important;
  margin: 0 2px !important;
}

div.tox .tox-tbtn--select:hover {
  background: #f8fafd !important;
  border-color: rgba(0, 0, 0, 0.28) !important;
}

div.tox .tox-tbtn--select .tox-tbtn__select-label {
  font-size: 12px !important;
  font-weight: 500 !important;
  max-width: 90px !important;
}

/* Dark Mode Toolbar */
html.dark-mode div.tox .tox-editor-header,
html.dark-mode div.tox .tox-toolbar-overlord>div,
html.dark-mode div.tox .tox-toolbar,
html.dark-mode div.tox .tox-toolbar__primary,
html.dark-mode div.tox .tox-toolbar__overflow {
  background: #1e2429 !important;
  background-image: none !important;
  border-color: #2e3840 !important;
  color: #c4c7c5 !important;
}

html.dark-mode div.tox .tox-tbtn {
  color: #c4c7c5 !important;
}

html.dark-mode div.tox .tox-tbtn svg {
  fill: #c4c7c5 !important;
}

html.dark-mode div.tox .tox-tbtn:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

html.dark-mode div.tox .tox-tbtn--enabled {
  background: #004a77 !important;
  color: #a8c7fa !important;
}

html.dark-mode div.tox .tox-tbtn--enabled svg {
  fill: #a8c7fa !important;
}

html.dark-mode div.tox .tox-tbtn--select {
  background: #252e35 !important;
  border-color: #3e4c57 !important;
  color: #e2e8f0 !important;
}

html.dark-mode div.tox .tox-tbtn--select:hover {
  background: #2e3842 !important;
  border-color: #526371 !important;
}

/* =========================================================================
   MESSAGE LIST ROW - DETERMINISTIC COLUMN ORDER & SPACING
   -------------------------------------------------------------------------
   `.messagelist tr` is display:flex, so every cell's `order` matters. Cells
   that declare no order default to 0 and jump AHEAD of the checkbox (order 1)
   and star (order 2) - td.attachment had no rule at all outside split view.
   This block pins the full sequence and gives the checkbox/star real
   separation so the star can no longer crowd the selection box.
   Specificity (0,1,2,4) intentionally beats the earlier `#messagelist tr td.x`
   rules (0,1,1,2) so these win regardless of source order.
========================================================================= */
html body #layout .messagelist tr td.threads,
html body #layout .messagelist tr td.selection,
html body #layout .messagelist tr td.select,
html body #layout #messagelist tr td.threads,
html body #layout #messagelist tr td.selection,
html body #layout #messagelist tr td.select {
  order: 1 !important;
  flex: 0 0 28px !important;
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  margin: 0 8px 0 0 !important;
  /* was 4px - star sat too close */
  padding: 3px 0 0 0 !important;
  overflow: visible !important;
}

html body #layout .messagelist tr td.flag,
html body #layout .messagelist tr td.flags,
html body #layout #messagelist tr td.flag,
html body #layout #messagelist tr td.flags {
  order: 2 !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  margin: 0 10px 0 0 !important;
  padding: 3px 0 0 0 !important;
  overflow: visible !important;
}

/* The star's box must stay inside its own 24px column. */
html body #layout .messagelist tr td.flag a,
html body #layout .messagelist tr td.flags a,
html body #layout .messagelist tr td.flags span.flag,
html body #layout #messagelist tr td.flag a,
html body #layout #messagelist tr td.flags a,
html body #layout #messagelist tr td.flags span.flag {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  position: static !important;
  flex: 0 0 20px !important;
}

/* =========================================================================
   HIDE ATTACHMENT ICONS IN MESSAGE LIST
   -------------------------------------------------------------------------
   Gmail displays rich attachment chips directly in the subject line.
   Hide the legacy paperclip icon in the message list rows so the stars
   and checkboxes remain perfectly aligned across all rows.
========================================================================= */
html body #layout .messagelist tr td.attachment,
html body #layout #messagelist tr td.attachment,
.messagelist tr td.attachment,
#messagelist tr td.attachment,
.messagelist tr td.flags span.attachment,
.messagelist tr td.flag span.attachment,
#messagelist tr td.flags span.attachment,
#messagelist tr td.flag span.attachment,
.messagelist tr span.attachment,
#messagelist tr span.attachment,
.messagelist tr .attachment {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* Also ensure th.attachment in header doesn't take space if present */
html body #layout #messagelist thead th.attachment,
.messagelist-header .attachment {
  display: none !important;
  width: 0 !important;
}

/* Subject is order: 3 right after Checkbox (1) and Star (2) */
html body #layout .messagelist tr td.subject,
html body #layout #messagelist tr td.subject,
.messagelist tr td.subject,
#messagelist tr td.subject {
  order: 3 !important;
}

/* Any remaining column keeps to the tail rather than jumping to position 0. */
html body #layout .messagelist tr td.status,
html body #layout .messagelist tr td.priority,
html body #layout .messagelist tr td.size,
html body #layout .messagelist tr td.folder,
html body #layout #messagelist tr td.status,
html body #layout #messagelist tr td.priority,
html body #layout #messagelist tr td.size,
html body #layout #messagelist tr td.folder {
  order: 5 !important;
}

/* =========================================================================
   TOOLBAR ROWS MUST NOT CLIP THEIR POPOVERS
   -------------------------------------------------------------------------
   Bootstrap opens a popover with container:false, which inserts the menu as a
   sibling of the trigger -- i.e. INSIDE the toolbar row. Those rows are locked
   to 48px (the toolbar itself to 32px) with overflow:hidden, so any menu opened
   from them is clipped to a sliver: the "..." menu appeared as an empty stub.
   The rows are fixed-height and their contents already fit, so allowing
   overflow costs nothing visually and lets menus escape the row.
   Selectors mirror the earlier overflow:hidden rules exactly so they win on
   source order at equal specificity.
========================================================================= */
html body #layout #messagelist-header,
html body #layout #layout-content>.header,
html body #layout #layout-list>.header {
  overflow: visible !important;
}

html body #layout #messagelist-header .toolbar,
html body #layout #messagelist-header #toolbar-list-menu,
html body #layout #layout-content>.header .toolbar,
html body #layout #layout-content>.header #toolbar-menu,
html body #layout #mailtoolbar {
  overflow: visible !important;
}

html body #layout.has-message-open #messagelist-header {
  overflow: visible !important;
}

html body.task-mail #layout.has-message-open #layout-content>.header,
html body.mail #layout.has-message-open #layout-content>.header {
  overflow: visible !important;
}

/* Keep the menu above the list/preview panes once it can escape the row. */
div.popover,
.popover.show {
  z-index: 10050 !important;
}

/* =========================================================================
   COMPOSE DOCK - MINIMISED STATE MUST WIN
   -------------------------------------------------------------------------
   .minimized (line ~2525) and .maximized (line ~2534) have equal specificity,
   so the later one won: minimising a maximised compose left the panel full
   size with its body hidden -- a large blank window. The JS now clears the
   other class, and this block guarantees the outcome even if both are present.
========================================================================= */
.gmail-compose-dock.minimized,
.gmail-compose-dock.minimized.maximized {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  width: 280px !important;
  bottom: 0 !important;
  right: 72px !important;
  border-radius: 10px 10px 0 0 !important;
}

.gmail-compose-dock.minimized .gmail-compose-body,
.gmail-compose-dock.minimized.maximized .gmail-compose-body {
  display: none !important;
}

/* Minimised title bar is the click target that restores the window. */
.gmail-compose-dock.minimized .gmail-compose-header {
  cursor: pointer !important;
}

/* Dock chrome: minimise / new tab / full screen / close */
.dock-btn.newtab-btn svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  fill: none !important;
  pointer-events: none !important;
}

/* =========================================================================
   COMPOSE ENHANCEMENTS: Topbar, Back Button, Attachment Delete, Modal Dialog
========================================================================= */

/* Standalone Compose Header Bar with Back Arrow */
.compose-topbar {
  display: flex !important;
  align-items: center !important;
  height: 48px !important;
  padding: 0 16px !important;
  border-bottom: 1px solid var(--g-border, #e8eaed) !important;
  background: var(--g-bg, #ffffff) !important;
  flex-shrink: 0 !important;
  gap: 8px !important;
}

.compose-back-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  color: var(--g-text-dim, #5f6368) !important;
  cursor: pointer !important;
  padding: 0 !important;
  transition: background-color 0.15s ease, color 0.15s ease !important;
}

.compose-back-btn:hover {
  background-color: var(--g-hover, #f1f3f4) !important;
  color: var(--g-text, #202124) !important;
}

.compose-topbar-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--g-text, #202124) !important;
  font-family: 'Google Sans', Roboto, sans-serif !important;
}

/* Hide topbar when framed inside docked compose */
html.iframe #compose-topbar,
html.iframe .compose-topbar,
.iframe #compose-topbar,
.iframe .compose-topbar,
.framed .compose-topbar,
#gmail-compose-dock .compose-topbar,
body.framed #compose-topbar {
  display: none !important;
}

/* Compose Attachment List & Trash/Delete Icon */
#attachment-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  margin: 0 !important;
  list-style: none !important;
}

#attachment-list>li {
  display: inline-flex !important;
  align-items: center !important;
  height: 32px !important;
  padding: 0 8px 0 12px !important;
  background: var(--g-hover, #f1f3f4) !important;
  border: 1px solid var(--g-border, #dadce0) !important;
  border-radius: 16px !important;
  font-size: 12.5px !important;
  color: var(--g-text, #202124) !important;
  max-width: 280px !important;
  transition: background-color 0.15s ease !important;
}

#attachment-list>li:hover {
  background: #e8eaed !important;
}

#attachment-list>li .attachment-name,
#attachment-list>li a.filename {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: var(--g-text, #202124) !important;
  text-decoration: none !important;
}

/* Hide Elastic's preview-triggering dropdown button */
#attachment-list>li>a.dropdown,
#attachment-list>li>a.button.dropdown {
  display: none !important;
}

/* Gmail-style trash icon on native Roundcube delete link */
#attachment-list>li>a.delete,
.attachmentslist li a.delete,
#attachment-list>li>a[href="#delete"],
.attachmentslist li a[href="#delete"],
.gmail-attach-remove-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  border-radius: 50% !important;
  color: var(--g-text-dim, #5f6368) !important;
  margin-left: 6px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  font-size: 0 !important;
  line-height: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  transition: all 0.15s ease !important;
}

#attachment-list>li>a.delete::before,
.attachmentslist li a.delete::before,
#attachment-list>li>a[href="#delete"]::before,
.attachmentslist li a[href="#delete"]::before {
  content: "" !important;
  display: inline-block !important;
  width: 15px !important;
  height: 15px !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z'/></svg>") no-repeat center / contain !important;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z'/></svg>") no-repeat center / contain !important;
}

#attachment-list>li>a.delete:hover,
.attachmentslist li a.delete:hover,
#attachment-list>li>a[href="#delete"]:hover,
.attachmentslist li a[href="#delete"]:hover,
.gmail-attach-remove-btn:hover {
  background-color: rgba(217, 48, 37, 0.12) !important;
  color: #d93025 !important;
}

.gmail-attach-remove-btn svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  fill: currentColor !important;
}

/* Gmail-style Modal Confirmation Dialog */
#gmail-compose-dialog-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0, 0, 0, 0.45) !important;
  backdrop-filter: blur(2px) !important;
  -webkit-backdrop-filter: blur(2px) !important;
  z-index: 999999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  animation: gmailFadeIn 0.15s ease-out !important;
}

.gmail-compose-dialog {
  background: var(--g-bg, #ffffff) !important;
  color: var(--g-text, #202124) !important;
  border-radius: 12px !important;
  padding: 24px 28px !important;
  min-width: 360px !important;
  max-width: 460px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.28) !important;
  font-family: 'Google Sans', Roboto, Arial, sans-serif !important;
  animation: gmailPopIn 0.2s cubic-bezier(0.1, 0.9, 0.2, 1) !important;
}

.gmail-compose-dialog h3 {
  margin: 0 0 12px 0 !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  color: var(--g-text, #202124) !important;
}

.gmail-compose-dialog p {
  margin: 0 0 24px 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--g-text-dim, #5f6368) !important;
}

.gmail-compose-dialog-btns {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 10px !important;
}

.gmail-compose-dialog-btn {
  padding: 8px 20px !important;
  border-radius: 20px !important;
  border: none !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  font-family: inherit !important;
  transition: all 0.15s ease !important;
}

.gmail-compose-dialog-btn.cancel {
  background: transparent !important;
  color: var(--g-text-dim, #5f6368) !important;
}

.gmail-compose-dialog-btn.cancel:hover {
  background: var(--g-hover, #f1f3f4) !important;
  color: var(--g-text, #202124) !important;
}

.gmail-compose-dialog-btn.secondary {
  background: transparent !important;
  color: #1a73e8 !important;
}

.gmail-compose-dialog-btn.secondary:hover {
  background: rgba(26, 115, 232, 0.08) !important;
}

.gmail-compose-dialog-btn.danger {
  background: transparent !important;
  color: #d93025 !important;
}

.gmail-compose-dialog-btn.danger:hover {
  background: rgba(217, 48, 37, 0.08) !important;
}

.gmail-compose-dialog-btn.primary {
  background: #1a73e8 !important;
  color: #ffffff !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
}

.gmail-compose-dialog-btn.primary:hover {
  background: #1557b0 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

@keyframes gmailFadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes gmailPopIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

/* Emoji Picker Popover */
.gmail-emoji-picker-popover {
  animation: gmailPopIn 0.15s cubic-bezier(0.1, 0.9, 0.2, 1) !important;
}

html.dark-mode .gmail-emoji-picker-popover {
  background: var(--g-bg, #292a2d) !important;
  border-color: var(--g-border, #3c4043) !important;
  color: var(--g-text, #e8eaed) !important;
}

/* Gmail Compose Dropup Popup Menus */
.gmail-compose-menu-popup {
  position: fixed !important;
  top: auto !important;
  z-index: 999999 !important;
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(60, 64, 67, 0.2) !important;
  min-width: 220px !important;
  max-width: 290px !important;
  max-height: 280px !important;
  overflow-y: auto !important;
  padding: 6px 0 !important;
  box-sizing: border-box !important;
  animation: gmailPopIn 0.12s cubic-bezier(0.1, 0.9, 0.2, 1) !important;
}

.gmail-compose-menu-popup .menu.listing {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.gmail-compose-menu-popup .menu.listing>li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.gmail-compose-menu-popup .menu-item-link,
.gmail-compose-menu-popup .menu.listing a {
  display: flex !important;
  align-items: center !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  color: #202124 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
  white-space: nowrap !important;
}

.gmail-compose-menu-popup .menu-item-link:hover,
.gmail-compose-menu-popup .menu.listing a:hover {
  background: #f1f3f4 !important;
  color: #1a73e8 !important;
}

.gmail-compose-menu-popup .menu-icon {
  width: 22px !important;
  font-size: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-right: 10px !important;
  color: #5f6368 !important;
  flex-shrink: 0 !important;
}

.gmail-compose-menu-popup .separator {
  height: 1px !important;
  background: #dadce0 !important;
  margin: 4px 0 !important;
  padding: 0 !important;
}

html.dark-mode .gmail-compose-menu-popup {
  background: #2d2e30 !important;
  border-color: #3c4043 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
}

html.dark-mode .gmail-compose-menu-popup .menu-item-link,
html.dark-mode .gmail-compose-menu-popup .menu.listing a {
  color: #e8eaed !important;
}

html.dark-mode .gmail-compose-menu-popup .menu-item-link:hover,
html.dark-mode .gmail-compose-menu-popup .menu.listing a:hover {
  background: #383a3e !important;
  color: #8ab4f8 !important;
}

html.dark-mode .gmail-compose-menu-popup .menu-icon {
  color: #9aa0a6 !important;
}

html.dark-mode .gmail-compose-menu-popup .separator {
  background: #3c4043 !important;
}

/* ==========================================================================
   GMAIL RECIPIENT AUTOCOMPLETE & SUGGESTIONS MENU
   ========================================================================== */
#gmail-recipient-suggest {
  z-index: 999999 !important;
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18) !important;
  font-family: 'Roboto', 'Google Sans', Helvetica, Arial, sans-serif !important;
}

.gmail-suggest-item {
  transition: background-color 0.15s ease;
}

.gmail-suggest-item:hover {
  background-color: #f1f3f4 !important;
}

html.dark-mode #gmail-recipient-suggest {
  background: #2d2e30 !important;
  border-color: #3c4043 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6) !important;
}

html.dark-mode .gmail-suggest-item {
  border-bottom-color: #3c4043 !important;
}

html.dark-mode .gmail-suggest-item:hover {
  background-color: #383a3e !important;
}

html.dark-mode .gmail-suggest-item .event-title,
html.dark-mode .gmail-suggest-item div[style*="color:#202124"] {
  color: #e8eaed !important;
}

html.dark-mode .gmail-suggest-item div[style*="color:#5f6368"] {
  color: #9aa0a6 !important;
}

/* ==========================================================================
   GMAIL MESSAGE HEADER: SENDER NAME & FROM EMAIL & RECIPIENTS
   ========================================================================== */
.gmail-msg-sender-info {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

.gmail-msg-from-name {
  font-weight: 700 !important;
  color: #202124 !important;
  font-size: 14px !important;
}

.gmail-msg-from-email {
  font-size: 12px !important;
  color: #5f6368 !important;
  font-weight: 400 !important;
}

.gmail-msg-to-label,
.gmail-msg-cc-summary {
  font-size: 12px !important;
  color: #5f6368 !important;
  font-weight: 400 !important;
}

html.dark-mode .gmail-msg-from-name {
  color: #e8eaed !important;
}

html.dark-mode .gmail-msg-from-email,
html.dark-mode .gmail-msg-to-label,
html.dark-mode .gmail-msg-cc-summary {
  color: #9aa0a6 !important;
}

/* ==========================================================================
   LEFT TASKMENU: GOOGLE WORKSPACE ICONS (CALENDAR, KEEP, TASKS)
   ========================================================================== */
#taskmenu a.calendar,
#taskmenu a.button-calendar,
#taskmenu a.keep,
#taskmenu a.button-keep,
#taskmenu a.tasks,
#taskmenu a.button-tasks {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#taskmenu a.calendar:before,
#taskmenu a.button-calendar:before {
  content: "" !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 22px 22px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='22' height='22'%3E%3Crect x='3' y='4' width='18' height='18' rx='3' fill='%23ffffff' stroke='%230d9488' stroke-width='2'/%3E%3Cpath d='M3 9h18' stroke='%230d9488' stroke-width='2'/%3E%3Cpath d='M8 2v4M16 2v4' stroke='%230d9488' stroke-width='2' stroke-linecap='round'/%3E%3Ctext x='12' y='18' font-family='Arial,sans-serif' font-size='9' font-weight='bold' fill='%230d9488' text-anchor='middle'%3E31%3C/text%3E%3C/svg%3E") !important;
}

#taskmenu a.keep:before,
#taskmenu a.button-keep:before {
  content: "" !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 22px 22px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='22' height='22'%3E%3Cpath d='M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7z' fill='%23fbbc04'/%3E%3C/svg%3E") !important;
}

#taskmenu a.tasks:before,
#taskmenu a.button-tasks:before {
  content: "" !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 22px 22px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='22' height='22'%3E%3Ccircle cx='12' cy='12' r='9' fill='none' stroke='%231a73e8' stroke-width='2'/%3E%3Cpath d='M8.5 12.5l2.5 2.5 5-5' fill='none' stroke='%231a73e8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

#taskmenu a.drawer-active,
#taskmenu a.drawer-active:hover {
  background: var(--g-folder-active-bg, #c2e7ff) !important;
  border-radius: 50% !important;
}

/* Hide separate companion bar since all icons are in left #taskmenu */
.gmail-companion-bar {
  display: none !important;
  width: 0 !important;
}

/* Layout adjustments */
@media (min-width: 992px) {
  #layout {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    transition: right 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }
  #layout.agenda-drawer-open {
    right: 340px !important;
    width: calc(100% - 340px) !important;
  }
  body.agenda-drawer-open #gmail-compose-dock:not(.maximized) {
    right: 360px !important;
    max-width: calc(100vw - 380px) !important;
  }
}

/* ==========================================================================
   SLIDE-IN / SLIDE-OUT UNIFIED COMPANION DRAWER (RIGHT SIDE)
   ========================================================================== */
#gmail-agenda-drawer,
.gmail-agenda-drawer {
  position: fixed !important;
  right: 0 !important;
  left: auto !important;
  top: 56px !important;
  bottom: 0 !important;
  width: 340px !important;
  max-width: calc(100vw - 60px) !important;
  background: #ffffff !important;
  border-left: 1px solid #e0e0e0 !important;
  border-right: none !important;
  z-index: 99990 !important;
  transform: translateX(100%) !important;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: flex !important;
  flex-direction: column !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  font-family: 'Roboto', 'Google Sans', Helvetica, Arial, sans-serif !important;
}

#gmail-agenda-drawer.open,
.gmail-agenda-drawer.open {
  transform: translateX(0) !important;
  box-shadow: -4px 0 24px rgba(0, 0, 0, 0.14) !important;
}

.drawer-tab-view,
#gmail-agenda-drawer .drawer-tab-view:not(.active) {
  display: none !important;
  flex-direction: column !important;
  flex: 1 !important;
  overflow: hidden !important;
  height: calc(100% - 56px) !important;
}

.drawer-tab-view.active,
#gmail-agenda-drawer .drawer-tab-view.active {
  display: flex !important;
}

.drawer-panel-content {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 16px !important;
}

/* Notes / Scratchpad Cards */
.drawer-note-card {
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-left: 4px solid #7c3aed !important;
  border-radius: 8px !important;
  padding: 12px !important;
  margin-bottom: 10px !important;
  position: relative !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  transition: box-shadow 0.15s ease !important;
}

.drawer-note-card:hover {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
}

.drawer-note-card .note-title {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #202124 !important;
  margin-bottom: 4px !important;
  padding-right: 20px !important;
}

.drawer-note-card .note-body {
  font-size: 12.5px !important;
  color: #3c4043 !important;
  white-space: pre-wrap !important;
  line-height: 1.4 !important;
  word-break: break-word !important;
}

.drawer-note-card .note-date {
  font-size: 11px !important;
  color: #70757a !important;
  margin-top: 6px !important;
}

.drawer-note-card .note-del-btn,
.drawer-task-card .task-del-btn {
  position: absolute !important;
  right: 6px !important;
  top: 6px !important;
  background: none !important;
  border: none !important;
  font-size: 16px !important;
  color: #9aa0a6 !important;
  cursor: pointer !important;
  padding: 0 4px !important;
  line-height: 1 !important;
}

.drawer-note-card .note-del-btn:hover,
.drawer-task-card .task-del-btn:hover {
  color: #e11d48 !important;
}

/* Tasks Cards */
.drawer-task-card {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-left: 4px solid #ea580c !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  margin-bottom: 8px !important;
  position: relative !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
  transition: all 0.15s ease !important;
}

.drawer-task-card:hover {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
}

.drawer-task-card .task-checkbox {
  margin-top: 2px !important;
  cursor: pointer !important;
  accent-color: #ea580c !important;
  width: 16px !important;
  height: 16px !important;
}

.drawer-task-card .task-title {
  flex: 1 !important;
  font-size: 13px !important;
  color: #202124 !important;
  word-break: break-word !important;
  padding-right: 16px !important;
}

.drawer-task-card .task-title.completed {
  text-decoration: line-through !important;
  color: #70757a !important;
}

.agenda-drawer-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid #f1f3f4 !important;
  height: 56px !important;
}

.agenda-header-title {
  display: flex !important;
  align-items: center !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #202124 !important;
}

.agenda-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.agenda-action-btn {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  border: none !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #5f6368 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: background-color 0.15s ease !important;
}

.agenda-action-btn:hover {
  background-color: #f1f3f4 !important;
  color: #202124 !important;
}

/* Month-Wise Datepicker */
.agenda-datepicker-strip {
  padding: 12px 16px !important;
  border-bottom: 1px solid #f1f3f4 !important;
  background: #fafafa !important;
}

.agenda-month-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 8px !important;
}

.agenda-month-title-group {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.agenda-month-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #202124 !important;
}

.agenda-today-btn {
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  color: #3c4043 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 2px 8px !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

.agenda-today-btn:hover {
  background: #f1f3f4 !important;
  color: #0d9488 !important;
  border-color: #0d9488 !important;
}

.agenda-nav-btn {
  background: none !important;
  border: none !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #5f6368 !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
}

.agenda-nav-btn:hover {
  background: #e8eaed !important;
  color: #202124 !important;
}

.agenda-weekdays-row {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  text-align: center !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: #70757a !important;
  padding: 4px 0 !important;
  text-transform: uppercase !important;
}

.agenda-month-grid {
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  gap: 2px !important;
  margin-top: 2px !important;
}

.agenda-day-cell {
  width: 32px !important;
  height: 32px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #3c4043 !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease !important;
  position: relative !important;
}

.agenda-day-cell:hover {
  background-color: #e8eaed !important;
}

.agenda-day-cell.other-month {
  color: #bdc1c6 !important;
  opacity: 0.5 !important;
}

.agenda-day-cell.today {
  border: 1.5px solid #0d9488 !important;
  color: #0d9488 !important;
  font-weight: 700 !important;
}

.agenda-day-cell.selected {
  background-color: #0d9488 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border: none !important;
  box-shadow: 0 2px 6px rgba(13, 148, 136, 0.35) !important;
}

.agenda-day-cell.has-event::after {
  content: '' !important;
  position: absolute !important;
  bottom: 3px !important;
  width: 4px !important;
  height: 4px !important;
  border-radius: 50% !important;
  background-color: #ea580c !important;
}

.agenda-day-cell.selected.has-event::after {
  background-color: #ffffff !important;
}

/* Schedule Body */
.agenda-schedule-body {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 16px !important;
}

.agenda-date-heading {
  font-size: 12px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  color: #5f6368 !important;
  margin-bottom: 12px !important;
}

.agenda-event-card {
  background: #ffffff !important;
  border: 1px solid #e0e0e0 !important;
  border-left-width: 4px !important;
  border-radius: 6px !important;
  padding: 10px 12px !important;
  margin-bottom: 10px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
  transition: box-shadow 0.15s ease !important;
}

.agenda-event-card:hover {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
}

.agenda-event-card .event-title {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #202124 !important;
  margin-bottom: 4px !important;
}

.agenda-event-card .event-time {
  font-size: 12px !important;
  color: #5f6368 !important;
}

.agenda-empty-state {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 36px 16px !important;
  text-align: center !important;
}

.agenda-empty-state .empty-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #202124 !important;
  margin-bottom: 4px !important;
}

.agenda-empty-state .empty-subtitle {
  font-size: 12px !important;
  color: #70757a !important;
}

/* Footer */
.agenda-drawer-footer {
  padding: 12px 16px !important;
  border-top: 1px solid #f1f3f4 !important;
  background: #ffffff !important;
  position: relative !important;
}

.agenda-add-event-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 8px 16px !important;
  border-radius: 20px !important;
  border: 1px solid #0d9488 !important;
  background: #ffffff !important;
  color: #0d9488 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background-color 0.15s ease, box-shadow 0.15s ease !important;
}

.agenda-add-event-btn:hover {
  background-color: #f0fdfa !important;
  box-shadow: 0 1px 3px rgba(13, 148, 136, 0.15) !important;
}

/* Quick Event Modal Dialog inside Drawer */
.agenda-event-modal {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  background: #ffffff !important;
  border-top: 1px solid #e0e0e0 !important;
  box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15) !important;
  padding: 16px !important;
  border-radius: 12px 12px 0 0 !important;
  z-index: 100 !important;
  display: none !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.agenda-event-modal.active,
.agenda-event-modal.show {
  display: flex !important;
}

.agenda-modal-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.agenda-modal-title {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #202124 !important;
}

.agenda-modal-close {
  background: none !important;
  border: none !important;
  font-size: 20px !important;
  cursor: pointer !important;
  color: #5f6368 !important;
  padding: 0 4px !important;
}

.agenda-modal-body {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.agenda-modal-input {
  width: 100% !important;
  padding: 8px 10px !important;
  border: 1px solid #dadce0 !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  box-sizing: border-box !important;
}

.agenda-modal-input:focus {
  outline: none !important;
  border-color: #0d9488 !important;
  box-shadow: 0 0 0 2px rgba(13, 148, 136, 0.2) !important;
}

.agenda-modal-input-sm {
  padding: 6px 8px !important;
  border: 1px solid #dadce0 !important;
  border-radius: 6px !important;
  font-size: 12px !important;
}

.agenda-modal-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12px !important;
  color: #5f6368 !important;
}

.agenda-modal-footer {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-top: 4px !important;
}

.agenda-btn-secondary {
  padding: 6px 14px !important;
  border-radius: 16px !important;
  border: 1px solid #dadce0 !important;
  background: #ffffff !important;
  color: #3c4043 !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.agenda-btn-primary {
  padding: 6px 16px !important;
  border-radius: 16px !important;
  border: none !important;
  background: #0d9488 !important;
  color: #ffffff !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* Dark Mode for Agenda Drawer */
html.dark-mode .gmail-agenda-drawer {
  background: #1f1f1f !important;
  border-left-color: #3c4043 !important;
  border-right: none !important;
}

html.dark-mode .agenda-drawer-header,
html.dark-mode .agenda-datepicker-strip,
html.dark-mode .agenda-drawer-footer {
  background: #28292a !important;
  border-color: #3c4043 !important;
}

html.dark-mode .agenda-header-title,
html.dark-mode .agenda-month-label,
html.dark-mode .agenda-empty-state .empty-title {
  color: #e8eaed !important;
}

html.dark-mode .agenda-action-btn,
html.dark-mode .agenda-nav-btn {
  color: #9aa0a6 !important;
}

html.dark-mode .agenda-action-btn:hover,
html.dark-mode .agenda-nav-btn:hover,
html.dark-mode .agenda-day-cell:hover {
  background-color: #383a3e !important;
  color: #e8eaed !important;
}

html.dark-mode .agenda-day-cell .day-letter,
html.dark-mode .agenda-date-heading,
html.dark-mode .agenda-empty-state .empty-subtitle {
  color: #9aa0a6 !important;
}

html.dark-mode .agenda-day-cell .day-number {
  color: #e8eaed !important;
}

html.dark-mode .agenda-event-card {
  background: #2d2e30 !important;
  border-color: #3c4043 !important;
}

html.dark-mode .agenda-event-card .event-title {
  color: #e8eaed !important;
}

html.dark-mode .agenda-event-card .event-time {
  color: #9aa0a6 !important;
}

html.dark-mode .agenda-add-event-btn {
  background: #2d2e30 !important;
  border-color: #3c4043 !important;
  color: #8ab4f8 !important;
}

html.dark-mode .agenda-add-event-btn:hover {
  background-color: #383a3e !important;
  color: #aecbfa !important;
}

/* ==========================================================================
   FIX: DRAWER TAB VIEW VISIBILITY (Prevents stacking)
   ========================================================================== */
.drawer-tab-view {
  display: none !important;
  flex-direction: column !important;
  height: 100% !important;
  overflow: hidden !important;
}

.drawer-tab-view.active {
  display: flex !important;
}

/* ==========================================================================
   FIX: AGENDA EVENT MODAL (Hidden by default, visible with .active)
   ========================================================================== */
.agenda-event-modal {
  display: none !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 320px !important;
  max-width: 90% !important;
  background: #ffffff !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.28) !important;
  z-index: 1100 !important;
  padding: 20px !important;
  animation: modalFadeIn 0.2s ease !important;
}

.agenda-event-modal.active {
  display: block !important;
}

@keyframes modalFadeIn {
  from { opacity: 0; transform: translate(-50%, -48%); }
  to   { opacity: 1; transform: translate(-50%, -50%); }
}

.agenda-event-modal label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #5f6368 !important;
  margin-bottom: 4px !important;
  margin-top: 12px !important;
}

.agenda-event-modal label:first-of-type {
  margin-top: 0 !important;
}

.agenda-event-modal input[type="text"],
.agenda-event-modal input[type="date"],
.agenda-event-modal input[type="time"] {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 8px 10px !important;
  border: 1px solid #dadce0 !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  outline: none !important;
  transition: border-color 0.2s ease !important;
}

.agenda-event-modal input:focus {
  border-color: #0d9488 !important;
  box-shadow: 0 0 0 2px rgba(13, 148, 136, 0.15) !important;
}

.agenda-event-modal .modal-actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-top: 18px !important;
}

.agenda-event-modal .modal-actions button {
  padding: 7px 18px !important;
  border-radius: 18px !important;
  border: none !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  transition: background 0.15s ease !important;
}

.agenda-event-modal .modal-actions #agenda-modal-cancel {
  background: transparent !important;
  color: #5f6368 !important;
}

.agenda-event-modal .modal-actions #agenda-modal-cancel:hover {
  background: #f1f3f4 !important;
}

.agenda-event-modal .modal-actions #agenda-modal-save {
  background: #0d9488 !important;
  color: #ffffff !important;
}

.agenda-event-modal .modal-actions #agenda-modal-save:hover {
  background: #0b7c72 !important;
}

/* Dark Mode: Event Modal */
html.dark-mode .agenda-event-modal {
  background: #2d2e30 !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
}

html.dark-mode .agenda-event-modal label {
  color: #9aa0a6 !important;
}

html.dark-mode .agenda-event-modal input[type="text"],
html.dark-mode .agenda-event-modal input[type="date"],
html.dark-mode .agenda-event-modal input[type="time"] {
  background: #1f1f1f !important;
  border-color: #3c4043 !important;
  color: #e8eaed !important;
}

html.dark-mode .agenda-event-modal input:focus {
  border-color: #0d9488 !important;
}

html.dark-mode .agenda-event-modal .modal-actions #agenda-modal-cancel {
  color: #9aa0a6 !important;
}

html.dark-mode .agenda-event-modal .modal-actions #agenda-modal-cancel:hover {
  background: #383a3e !important;
}


/* ==========================================================================
   FIX: DRAWER NOTE CARDS
   ========================================================================== */
.drawer-note-card {
  position: relative !important;
  background: #fff8e1 !important;
  border: 1px solid #ffe082 !important;
  border-radius: 8px !important;
  padding: 12px 32px 12px 12px !important;
  margin-bottom: 8px !important;
  transition: box-shadow 0.15s ease !important;
}

.drawer-note-card:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

.drawer-note-card .note-title {
  font-weight: 600 !important;
  font-size: 13px !important;
  color: #202124 !important;
  margin-bottom: 4px !important;
}

.drawer-note-card .note-body {
  font-size: 12px !important;
  color: #5f6368 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

.drawer-note-card .note-date {
  font-size: 11px !important;
  color: #9aa0a6 !important;
  margin-top: 6px !important;
}

.drawer-note-card .note-del-btn {
  position: absolute !important;
  top: 6px !important;
  right: 6px !important;
  background: none !important;
  border: none !important;
  color: #9aa0a6 !important;
  cursor: pointer !important;
  font-size: 16px !important;
  padding: 2px 4px !important;
  line-height: 1 !important;
}

.drawer-note-card .note-del-btn:hover {
  color: #d93025 !important;
}

/* ==========================================================================
   FIX: DRAWER TASK CARDS
   ========================================================================== */
.drawer-task-card {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 8px 12px !important;
  border-bottom: 1px solid #f1f3f4 !important;
  transition: background 0.12s ease !important;
}

.drawer-task-card:hover {
  background: #f8f9fa !important;
}

.drawer-task-card .task-checkbox {
  width: 18px !important;
  height: 18px !important;
  cursor: pointer !important;
  accent-color: #0d9488 !important;
  flex-shrink: 0 !important;
}

.drawer-task-card .task-title {
  font-size: 13px !important;
  color: #202124 !important;
  flex: 1 !important;
}

.drawer-task-card .task-title.completed {
  text-decoration: line-through !important;
  color: #9aa0a6 !important;
}

.drawer-task-card .task-del-btn {
  background: none !important;
  border: none !important;
  color: #9aa0a6 !important;
  cursor: pointer !important;
  font-size: 16px !important;
  padding: 2px 4px !important;
  line-height: 1 !important;
  opacity: 0 !important;
  transition: opacity 0.15s ease !important;
}

.drawer-task-card:hover .task-del-btn {
  opacity: 1 !important;
}

.drawer-task-card .task-del-btn:hover {
  color: #d93025 !important;
}

/* Dark Mode: Notes & Tasks */
html.dark-mode .drawer-note-card {
  background: #3c3c00 !important;
  border-color: #5c5c00 !important;
}

html.dark-mode .drawer-note-card .note-title {
  color: #e8eaed !important;
}

html.dark-mode .drawer-note-card .note-body {
  color: #9aa0a6 !important;
}

html.dark-mode .drawer-task-card {
  border-bottom-color: #3c4043 !important;
}

html.dark-mode .drawer-task-card:hover {
  background: #383a3e !important;
}

html.dark-mode .drawer-task-card .task-title {
  color: #e8eaed !important;
}

/* ==========================================================================
   RECIPIENT AUTOCOMPLETE / SUGGESTIONS PANE (Google-style)
   ========================================================================== */
#rcmKSearchpane,
#gmail-recipient-suggest {
  position: absolute !important;
  background: #ffffff !important;
  border: 1px solid #dadce0 !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
  max-height: 280px !important;
  overflow-y: auto !important;
  min-width: 320px !important;
  padding: 6px 0 !important;
  font-family: 'Roboto', 'Google Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
  z-index: 999999 !important;
}

#rcmKSearchpane:empty,
#gmail-recipient-suggest:empty,
#gmail-recipient-suggest:not(:has(li)) {
  display: none !important;
}

#rcmKSearchpane > ul,
#gmail-recipient-suggest ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#rcmKSearchpane > ul > li,
#gmail-recipient-suggest .gmail-suggest-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  padding: 8px 14px !important;
  cursor: pointer !important;
  border-bottom: 1px solid #f1f3f4 !important;
  transition: background-color 0.15s ease !important;
  gap: 12px !important;
}

#rcmKSearchpane > ul > li:last-child,
#gmail-recipient-suggest .gmail-suggest-item:last-child {
  border-bottom: none !important;
}

#rcmKSearchpane > ul > li:hover,
#rcmKSearchpane > ul > li.selected,
#rcmKSearchpane > ul > li.active,
#gmail-recipient-suggest .gmail-suggest-item:hover,
#gmail-recipient-suggest .gmail-suggest-item.selected {
  background-color: #f1f3f4 !important;
}

#rcmKSearchpane > ul > li .avatar-initial,
#gmail-recipient-suggest .suggest-avatar {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  color: #ffffff !important;
  flex-shrink: 0 !important;
}

#rcmKSearchpane > ul > li > span.fields,
#gmail-recipient-suggest .suggest-fields {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  overflow: hidden !important;
  margin: 0 !important;
}

#rcmKSearchpane > ul > li > span.fields > span.field.name,
#gmail-recipient-suggest .suggest-name {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #202124 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#rcmKSearchpane > ul > li > span.fields > span.field.email,
#gmail-recipient-suggest .suggest-email {
  font-size: 12px !important;
  color: #5f6368 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

#rcmKSearchpane > ul > li > i.icon {
  display: none !important;
}

/* Dark Mode: Autocomplete */
html.dark-mode #rcmKSearchpane,
html.dark-mode #gmail-recipient-suggest {
  background: #2d2e30 !important;
  border-color: #5f6368 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
}

html.dark-mode #rcmKSearchpane > ul > li,
html.dark-mode #gmail-recipient-suggest .gmail-suggest-item {
  border-bottom-color: #3c4043 !important;
}

html.dark-mode #rcmKSearchpane > ul > li:hover,
html.dark-mode #rcmKSearchpane > ul > li.selected,
html.dark-mode #rcmKSearchpane > ul > li.active,
html.dark-mode #gmail-recipient-suggest .gmail-suggest-item:hover,
html.dark-mode #gmail-recipient-suggest .gmail-suggest-item.selected {
  background-color: #3c4043 !important;
}

html.dark-mode #rcmKSearchpane > ul > li > span.fields > span.field.name,
html.dark-mode #gmail-recipient-suggest .suggest-name {
  color: #e8eaed !important;
}

html.dark-mode #rcmKSearchpane > ul > li > span.fields > span.field.email,
html.dark-mode #gmail-recipient-suggest .suggest-email {
  color: #9aa0a6 !important;
}




/* ==========================================================================
   FIX: Calendar & xcalendar full-page task — Layout & Alignment
   ========================================================================== */
@media screen and (min-width: 769px) {
  body.task-calendar #layout,
  body.task-xcalendar #layout {
    display: flex !important;
    flex-direction: row !important;
    width: 100vw !important;
    height: 100vh !important;
    overflow: hidden !important;
  }

  /* In xcalendar, #layout-content holds the left sidebar (mini datepicker & calendar list) */
  body.task-xcalendar #layout > #layout-content,
  body.xcalendar #layout > #layout-content {
    order: 1 !important;
    flex: 0 0 260px !important;
    width: 260px !important;
    min-width: 240px !important;
    max-width: 280px !important;
    height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    border-right: 1px solid rgba(0, 0, 0, 0.08) !important;
    background: #f8fafc !important;
    position: relative !important;
    z-index: 5 !important;
  }

  /* In xcalendar, #layout-sidebar holds the main fullcalendar view (#main-calendar-container) */
  body.task-xcalendar #layout > #layout-sidebar,
  body.xcalendar #layout > #layout-sidebar {
    order: 2 !important;
    flex: 1 1 auto !important;
    width: calc(100vw - 320px) !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: var(--g-bg, #ffffff) !important;
    border: none !important;
    position: relative !important;
  }
}

@media screen and (max-width: 768px) {
  body.task-calendar #layout,
  body.task-xcalendar #layout {
    display: flex !important;
    flex-direction: column !important;
    width: 100vw !important;
    height: calc(100vh - 56px) !important;
    height: calc(100dvh - 56px) !important;
    overflow: hidden !important;
    position: relative !important;
  }

  /* When #layout-content has .hidden: keep it hidden */
  body.task-xcalendar #layout > #layout-content.hidden,
  body.xcalendar #layout > #layout-content.hidden {
    display: none !important;
  }

  /* When #layout-content is active (user viewing options/calendars): show full screen */
  body.task-xcalendar #layout > #layout-content:not(.hidden),
  body.xcalendar #layout > #layout-content:not(.hidden) {
    display: flex !important;
    flex-direction: column !important;
    width: 100vw !important;
    max-width: 100vw !important;
    flex: 1 1 auto !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 50 !important;
    background: var(--g-bg, #ffffff) !important;
    color: var(--g-text, #1f1f1f) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  html.dark-mode body.task-xcalendar #layout > #layout-content:not(.hidden),
  body.dark-mode.task-xcalendar #layout > #layout-content:not(.hidden) {
    background: #1e1e1e !important;
    color: #e8eaed !important;
  }

  /* When #layout-sidebar has .hidden: keep it hidden */
  body.task-xcalendar #layout > #layout-sidebar.hidden,
  body.xcalendar #layout > #layout-sidebar.hidden {
    display: none !important;
  }

  /* When #layout-sidebar is active: calendar fills entire mobile screen */
  body.task-xcalendar #layout > #layout-sidebar:not(.hidden),
  body.xcalendar #layout > #layout-sidebar:not(.hidden) {
    order: 1 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    flex: 1 1 auto !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border: none !important;
    position: relative !important;
  }

  body.task-xcalendar #main-calendar-container,
  body.xcalendar #main-calendar-container {
    width: 100% !important;
    height: 100% !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
  }

  /* Mobile Calendar Top Action Bar */
  body.task-xcalendar #xcalendar-toolbar {
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
    background: var(--g-bg, #ffffff) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    flex-shrink: 0 !important;
  }
  html.dark-mode body.task-xcalendar #xcalendar-toolbar,
  body.dark-mode.task-xcalendar #xcalendar-toolbar {
    background: #1e1e1e !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  }
  body.task-xcalendar #xcalendar-toolbar::-webkit-scrollbar {
    display: none !important;
  }

  body.task-xcalendar #xcalendar-toolbar .menu.toolbar,
  body.task-xcalendar #xcalendar-toolbar .menu.toolbar.iconized {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
    height: 100% !important;
    flex-wrap: nowrap !important;
  }

  body.task-xcalendar #xcalendar-toolbar a,
  body.task-xcalendar #xcalendar-toolbar button,
  body.task-xcalendar #xcalendar-toolbar .menu.toolbar a,
  body.task-xcalendar #xcalendar-toolbar .menu.toolbar.iconized a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    width: auto !important;
    min-width: fit-content !important;
    max-width: none !important;
    padding: 0 14px !important;
    border-radius: 18px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    color: #444746 !important;
    background: #f1f3f4 !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    text-indent: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
  }
  body.task-xcalendar #xcalendar-toolbar a:before,
  body.task-xcalendar #xcalendar-toolbar .menu.toolbar a:before {
    display: none !important;
  }

  html.dark-mode body.task-xcalendar #xcalendar-toolbar a,
  html.dark-mode body.task-xcalendar #xcalendar-toolbar button,
  html.dark-mode body.task-xcalendar #xcalendar-toolbar .menu.toolbar a,
  html.dark-mode body.task-xcalendar #xcalendar-toolbar .menu.toolbar.iconized a,
  body.dark-mode.task-xcalendar #xcalendar-toolbar a,
  body.dark-mode.task-xcalendar #xcalendar-toolbar button,
  body.dark-mode.task-xcalendar #xcalendar-toolbar .menu.toolbar a,
  body.dark-mode.task-xcalendar #xcalendar-toolbar .menu.toolbar.iconized a {
    color: #e8eaed !important;
    background: #2d2d2d !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
  }

  body.task-xcalendar #xcalendar-toolbar a.calendar-add-event {
    background: #1a73e8 !important;
    color: #ffffff !important;
    border: none !important;
    font-weight: 600 !important;
    box-shadow: 0 1px 3px rgba(26, 115, 232, 0.3) !important;
  }
  html.dark-mode body.task-xcalendar #xcalendar-toolbar a.calendar-add-event,
  body.dark-mode.task-xcalendar #xcalendar-toolbar a.calendar-add-event {
    background: #8ab4f8 !important;
    color: #001d35 !important;
  }

  body.task-xcalendar #xcalendar-toolbar a.xcalendar-mobile-show-sidebar {
    background: rgba(26, 115, 232, 0.1) !important;
    color: #1a73e8 !important;
    border-color: rgba(26, 115, 232, 0.3) !important;
    font-weight: 600 !important;
  }
  html.dark-mode body.task-xcalendar #xcalendar-toolbar a.xcalendar-mobile-show-sidebar,
  body.dark-mode.task-xcalendar #xcalendar-toolbar a.xcalendar-mobile-show-sidebar {
    background: rgba(138, 180, 248, 0.15) !important;
    color: #8ab4f8 !important;
    border-color: rgba(138, 180, 248, 0.35) !important;
  }

  /* Mobile Options / Calendars view Header */
  body.task-xcalendar #layout-content .calendar-content-header {
    height: 52px !important;
    min-height: 52px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 16px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    background: var(--g-bg, #ffffff) !important;
    gap: 14px !important;
    flex-shrink: 0 !important;
  }
  html.dark-mode body.task-xcalendar #layout-content .calendar-content-header,
  body.dark-mode.task-xcalendar #layout-content .calendar-content-header {
    background: #1e1e1e !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  }

  body.task-xcalendar #layout-content .calendar-content-header .back-list-button {
    display: inline-flex !important;
    align-items: center !important;
    color: #1a73e8 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 6px 14px !important;
    border-radius: 16px !important;
    background: rgba(26, 115, 232, 0.1) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    border: none !important;
  }
  body.task-xcalendar #layout-content .calendar-content-header .back-list-button:before {
    display: none !important;
  }
  html.dark-mode body.task-xcalendar #layout-content .calendar-content-header .back-list-button,
  body.dark-mode.task-xcalendar #layout-content .calendar-content-header .back-list-button {
    color: #8ab4f8 !important;
    background: rgba(138, 180, 248, 0.12) !important;
  }
}

body.task-xcalendar #main-calendar-container,
body.xcalendar #main-calendar-container {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

body.task-xcalendar #calendar-grid,
body.xcalendar #calendar-grid,
body.task-xcalendar .fc,
body.xcalendar .fc {
  flex: 1 1 auto !important;
  width: 100% !important;
  height: 100% !important;
  position: relative !important;
}

/* Companion drawer for Notes & Tasks: hidden when closed, slides in on top when open */
body.task-xcalendar #gmail-agenda-drawer:not(.open) {
  display: none !important;
}
body.task-xcalendar #gmail-agenda-drawer.open {
  display: flex !important;
  z-index: 9999 !important;
}

/* FullCalendar styling polish to prevent clumsy overlaps */
body.task-xcalendar .fc-toolbar {
  margin-bottom: 0.5rem !important;
  padding: 8px 16px !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
}

body.task-xcalendar .fc-view-container {
  flex: 1 1 auto !important;
  height: 100% !important;
  width: 100% !important;
}

body.task-xcalendar .fc-head-container th {
  padding: 8px 4px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* Fallback for standard task-calendar */
body.task-calendar #layout-sidebar {
  display: block !important;
  flex-shrink: 0;
}

body.task-calendar #layout-content {
  flex: 1 1 auto;
  min-width: 0;
  position: relative;
  display: flex !important;
  flex-direction: column !important;
}

body.task-calendar #calendar-view,
body.task-calendar #calendar,
body.task-calendar #fullcalendar {
  position: relative !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  width: 100% !important;
  min-height: 0 !important;
}

/* ==========================================================================
   FIX: Message list column min-width when Calendar/Notes sidebar is open.
   Prevents subject and sender names from being heavily truncated.
   ========================================================================== */
#messagelist-header,
#messagelist {
  min-width: 220px;
}

#layout.has-message-open #messagelist-header,
#layout.has-message-open #messagelist {
  min-width: 180px;
}

/* ==========================================================================
   FIX: Compose framed mode — remove top padding when inner topbar is hidden.
   The outer dock header already provides the title; the inner topbar is hidden
   via JS (.gmail-docked-framed body class), so reclaim that vertical space.
   ========================================================================== */
body.gmail-docked-framed #compose-topbar {
  display: none !important;
}

body.gmail-docked-framed #layout-content,
body.gmail-docked-framed #compose-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.gmail-docked-framed #compose-headers {
  padding-top: 4px;
}

/* ==========================================================================
   Hide third-party RoundcubePlus xsidebar ("Today's Agenda" widget)
   in Gmail skin to maintain authentic Gmail layout.
   ========================================================================== */
#xsidebar,
#xsidebar-container,
#show-xsidebar,
#show-mobile-xsidebar,
.xsidebar {
  display: none !important;
}

/* ==========================================================================
   xcalendar Clean Layout - Push Calendar to Top & Sticky Action Buttons
   ========================================================================== */
#xcalendar-toolbar {
  display: none !important;
}

#main-calendar-container,
.calendar-sidebar #main-calendar-container {
  top: 0 !important;
  height: 100% !important;
  padding-top: 8px !important;
}

#layout-content > .header.calendar-content-header {
  display: none !important;
}

#layout-content {
  padding-top: 0 !important;
}

#event-edit,
.calendar-event-edit,
#eventshow {
  overflow: hidden !important;
  box-sizing: border-box !important;
  top: 0 !important;
}

#event-edit .content-box,
.calendar-event-edit .content-box {
  position: absolute !important;
  top: 34px !important;
  bottom: 56px !important;
  left: 0 !important;
  right: 0 !important;
  overflow-y: auto !important;
}

#event-edit .formbuttons,
#event-edit .editor-button-bar,
.editor-button-bar,
.calendar-event-edit .formbuttons,
.calendar-event-edit .editor-button-bar {
  position: absolute !important;
  bottom: 0 !important;
  top: auto !important;
  left: 0 !important;
  right: 0 !important;
  height: 56px !important;
  background: #ffffff !important;
  border-top: 1px solid #dadce0 !important;
  padding: 10px 24px !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 12px !important;
  z-index: 9999 !important;
  box-sizing: border-box !important;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.08) !important;
}

html.dark-mode #event-edit .formbuttons,
html.dark-mode #event-edit .editor-button-bar,
html.dark-mode .calendar-event-edit .formbuttons,
html.dark-mode .calendar-event-edit .editor-button-bar,
html.dark-mode .editor-button-bar {
  background: #1f2327 !important;
  border-top-color: #333940 !important;
}

#event-edit .formbuttons button.submit,
#event-edit .editor-button-bar button.submit,
.calendar-event-edit button.submit {
  background: #1a73e8 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 4px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  padding: 8px 24px !important;
  cursor: pointer !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
  transition: background 0.15s ease !important;
}

#event-edit .formbuttons button.submit:hover,
#event-edit .editor-button-bar button.submit:hover,
.calendar-event-edit button.submit:hover {
  background: #1557b0 !important;
}

#event-edit .formbuttons button.cancel,
#event-edit .editor-button-bar button.cancel,
.calendar-event-edit button.cancel {
  background: transparent !important;
  color: #5f6368 !important;
  border: 1px solid #dadce0 !important;
  border-radius: 4px !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  padding: 7px 20px !important;
  cursor: pointer !important;
  transition: background 0.15s ease !important;
}

#event-edit .formbuttons button.cancel:hover,
#event-edit .editor-button-bar button.cancel:hover,
.calendar-event-edit button.cancel:hover {
  background: #f1f3f4 !important;
}

/* -- RBS In-App Theme Palette Button & Dynamic Theme Engine ---------------- */
#taskmenu a.button.theme-palette,
#taskmenu .special-buttons a.button.theme-palette {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#taskmenu a.button.theme-palette::before,
#taskmenu .special-buttons a.button.theme-palette::before {
  content: "🎨" !important;
  font-size: 16px !important;
  display: inline-block !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

#taskmenu a.button.theme-palette:hover {
  background: var(--g-hover, #f1f3f4) !important;
}

/* ==========================================================================
   Gmail Floating Search Options Popover & Date Column Hover Cleanliness
   ========================================================================== */

/* 1. Hide date text cleanly when hovering message row so action pill replaces it */
#messagelist tbody tr:hover td.date,
#messagelist tbody tr.hover td.date,
#messagelist tbody tr:hover span.date,
#messagelist tbody tr.hover span.date {
  opacity: 0 !important;
  transition: opacity 0.12s ease !important;
}

/* 2. Floating Gmail Search Options Filter Popover */
#searchmenu.searchoptions {
  position: absolute !important;
  top: 54px !important;
  left: 20px !important;
  right: auto !important;
  width: 90% !important;
  max-width: 680px !important;
  background: var(--g-bg, #ffffff) !important;
  border: 1px solid var(--g-border, #dadce0) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.24) !important;
  z-index: 1050 !important;
  padding: 18px 24px !important;
  max-height: 80vh !important;
  overflow-y: auto !important;
}

#searchmenu.searchoptions.hidden,
#searchmenu.hidden {
  display: none !important;
  visibility: hidden !important;
}

html.dark-mode #searchmenu.searchoptions {
  background: #202124 !important;
  border-color: #3c4043 !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.65) !important;
  color: #e8eaed !important;
}

#searchmenu .formbuttons {
  display: flex !important;
  justify-content: flex-end !important;
  padding-top: 12px !important;
  border-top: 1px solid var(--g-border, #dadce0) !important;
  margin-top: 12px !important;
}

#searchmenu .formbuttons button.search {
  width: auto !important;
  min-width: 100px !important;
  border-radius: 4px !important;
  font-weight: 500 !important;
  padding: 6px 16px !important;
}

/* --- Dark Mode Visibility for Sidebar Folders, Editor, and Compose Toolbar --- */
html.dark-mode #mailboxlist li a,
html.dark-mode .folderlist li a,
html.dark-mode .treelist li a {
  color: #e2e8f0 !important;
}

html.dark-mode #mailboxlist li a::before,
html.dark-mode .folderlist li a::before,
html.dark-mode .treelist li a::before {
  color: #94a3b8 !important;
}

html.dark-mode #mailboxlist li a:hover,
html.dark-mode .folderlist li a:hover,
html.dark-mode .treelist li a:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

html.dark-mode #mailboxlist li a:hover::before,
html.dark-mode .folderlist li a:hover::before {
  color: #ffffff !important;
}

html.dark-mode #composebody {
  color: #e8eaed !important;
}

html.dark-mode div.tox .tox-edit-area__iframe,
html.dark-mode iframe#composebody_ifr {
  background: #202124 !important;
  color: #e8eaed !important;
}

#compose-content #messagestack,
#gmail-compose-frame #messagestack,
.floating-dock #messagestack {
  bottom: 58px !important;
  right: 16px !important;
  max-width: 280px !important;
  z-index: 99999 !important;
}

#compose-content #messagestack .loading,
#gmail-compose-frame #messagestack .loading,
.floating-dock #messagestack .loading {
  display: none !important;
}

/* Table popup contextual toolbar: visible, modern, and styled for light/dark modes */
.tox-pop {
  z-index: 99999 !important;
}
.tox-pop .tox-toolbar {
  background: var(--g-surface, #ffffff) !important;
  border: 1px solid var(--g-border, #dadce0) !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18) !important;
  padding: 2px 4px !important;
}
html.dark-mode .tox-pop .tox-toolbar {
  background: #20262d !important;
  border-color: #3b4550 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45) !important;
}
html.dark-mode .tox-pop .tox-tbtn {
  color: #e2e8f0 !important;
}
html.dark-mode .tox-pop .tox-tbtn svg {
  fill: #e2e8f0 !important;
}
html.dark-mode .tox-pop .tox-tbtn:hover {
  background: rgba(255, 255, 255, 0.1) !important;
}

/* Gmail Compose Dropup / Popup Menus (More Options, Signature, Schedule Send) */
.gmail-compose-menu-popup {
    position: fixed;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2), 0 1px 4px rgba(0, 0, 0, 0.12);
    min-width: 220px;
    max-width: 320px;
    padding: 6px 0;
    z-index: 999999 !important;
    border: 1px solid #dadce0;
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
}

.gmail-compose-menu-popup ul.menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gmail-compose-menu-popup ul.menu li {
    margin: 0;
    padding: 0;
}

.gmail-compose-menu-popup ul.menu li a.menu-item-link,
.gmail-compose-menu-popup ul.menu li a {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    color: #202124;
    font-size: 13.5px;
    text-decoration: none;
    cursor: pointer;
    line-height: 1.4;
    transition: background-color 0.15s ease;
}

.gmail-compose-menu-popup ul.menu li a:hover {
    background-color: #f1f3f4;
    color: #202124;
}

.gmail-compose-menu-popup ul.menu li.separator {
    height: 1px;
    background-color: #e0e0e0;
    margin: 6px 0;
    padding: 0;
}

.gmail-compose-menu-popup .menu-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    margin-right: 12px;
    font-size: 15px;
    color: #5f6368;
}

html.dark-mode .gmail-compose-menu-popup,
body.dark-mode .gmail-compose-menu-popup {
    background: #292a2d;
    border-color: #3c4043;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45);
}

html.dark-mode .gmail-compose-menu-popup ul.menu li a.menu-item-link,
body.dark-mode .gmail-compose-menu-popup ul.menu li a.menu-item-link,
html.dark-mode .gmail-compose-menu-popup ul.menu li a,
body.dark-mode .gmail-compose-menu-popup ul.menu li a {
    color: #e8eaed;
}

html.dark-mode .gmail-compose-menu-popup ul.menu li a:hover,
body.dark-mode .gmail-compose-menu-popup ul.menu li a:hover {
    background-color: #3c4043;
    color: #ffffff;
}

html.dark-mode .gmail-compose-menu-popup ul.menu li.separator,
body.dark-mode .gmail-compose-menu-popup ul.menu li.separator {
    background-color: #3c4043;
}

html.dark-mode .gmail-compose-menu-popup .menu-icon,
body.dark-mode .gmail-compose-menu-popup .menu-icon {
    color: #9aa0a6;
}

#compose-headers {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.compose-subject-toolbar:not(:has(a.button)),
#compose-content > #messagetoolbar:not(:has(a.button)),
#messagetoolbar:not(:has(a.button)) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

#compose-attachments:empty,
.compose-attachments-box:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  border: none !important;
}

.compose-header-row {
  min-height: 32px !important;
  padding: 2px 0 !important;
  border-bottom: 1px solid var(--g-border, #e8eaed) !important;
}

.compose-header-row .input-group {
  min-height: 28px !important;
  height: auto !important;
}

#compose-subject {
  height: 32px !important;
  padding: 4px 0 !important;
}

body.action-compose #compose-content {
  padding: 4px 16px 8px 16px !important;
}

/* ==========================================================================
   COMPREHENSIVE RESPONSIVE DESIGN FOR ALL DEVICES
   (Desktop >1024px, Tablet Landscape 769px-1024px, Tablet Portrait 481px-768px, Phone <=480px)
   ========================================================================== */

/* Universal Layout: honor .hidden class with absolute specificity */
#layout > div.hidden,
#layout > #layout-sidebar.hidden,
#layout > #layout-list.hidden,
#layout > #layout-content.hidden,
#layout-sidebar.hidden,
#layout-list.hidden,
#layout-content.hidden {
  display: none !important;
}

/* Universal: Guarantee blank space bar below subject is 100% eliminated */
#messagetoolbar:not(:has(a.button, button)),
.compose-subject-toolbar:not(:has(a.button, button)),
#compose-content > #messagetoolbar:not(:has(a.button, button)),
#messagetoolbar:empty,
.compose-subject-toolbar:empty,
#compose-content > #messagetoolbar:empty {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: hidden !important;
}

/* TABLET LANDSCAPE (769px to 1024px) */
@media screen and (min-width: 769px) and (max-width: 1024px) {
  #layout > #layout-sidebar {
    flex: 0 0 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
    width: 180px !important;
  }

  body.task-mail #layout:not(.has-message-open) > #layout-list,
  body.mail #layout:not(.has-message-open) > #layout-list {
    width: calc(100vw - 180px - 52px) !important;
  }

  body.task-mail #layout.has-message-open > #layout-list,
  body.mail #layout.has-message-open > #layout-list {
    flex: 0 0 300px !important;
    width: 300px !important;
    min-width: 260px !important;
    max-width: 320px !important;
  }

  .searchbar,
  #searchform {
    max-width: 420px !important;
  }

  .gmail-compose-dock,
  #gmail-compose-dock,
  .gmail-docked-compose {
    width: 540px !important;
    max-width: 92vw !important;
    height: 520px !important;
    max-height: 85vh !important;
  }
}

/* =========================================================================
   AUTHENTIC GMAIL MOBILE APP INTERFACE (MATCHING 2ND SCREENSHOT 1:1)
   ========================================================================= */

/* GLOBAL: Hide mobile-only elements on Desktop */
#gmail-mobile-search-bar,
#gmail-mobile-drawer-backdrop,
.mobile-drawer-header,
#gmail-mobile-bottom-nav,
.gmail-mobile-section-title,
#rbs-drawer-theme-container,
.rbs-drawer-theme-btn,
#rbs-drawer-dark-toggle {
  display: none !important;
}

/* MOBILE PHONES & TABLETS (<= 768px) */
@media screen and (max-width: 768px) {
  /* 1. RESET LAYOUT & HIDE DESKTOP ARTIFACTS */
  #layout #layout-list #mailsearchform,
  #layout #layout-list .searchbar,
  #layout #layout-list .searchbox,
  #layout #layout-list #gmail-messagelist-header,
  #layout #layout-list table.messagelist thead,
  html body.task-mail #layout #layout-list > .header,
  html body #layout #layout-list #messagelist-header,
  html body #layout #messagelist-header,
  html body #layout.has-message-open #messagelist-header,
  html body #layout #messagelist-header .toolbar,
  html body #layout #messagelist-header #toolbar-list-menu,
  body.task-mail #layout-list > .header,
  body.task-mail #layout-list #messagelist-header,
  #messagelist-header,
  #messagelist-header .toolbar,
  #layout #layout-list .pagenav,
  #layout #layout-list .pagenav.menu,
  #layout #layout-list #messagelist-footer,
  #layout #layout-list #countcontrols,
  .pagenav,
  #messagelist-footer,
  #countcontrols,
  #layout > #layout-menu {
    display: none !important;
  }

  /* 2. MAIN LAYOUT & VIEWPORT */
  #layout {
    position: relative !important;
    height: 100vh !important;
    height: 100dvh !important;
    width: 100vw !important;
    overflow: hidden !important;
    background: #111318 !important;
  }

  html:not(.dark-mode) #layout,
  body:not(.dark-mode) #layout {
    background: #ffffff !important;
  }

  /* 3. TOP FLOATING SEARCH BAR (MATCHING SCREENSHOT 2) */
  #gmail-mobile-search-bar {
    display: flex !important;
    align-items: center !important;
    background: #2b2f3a !important;
    border-radius: 28px !important;
    margin: 8px 14px 6px 14px !important;
    padding: 0 8px 0 14px !important;
    height: 48px !important;
    min-height: 48px !important;
    box-sizing: border-box !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
    flex-shrink: 0 !important;
    width: calc(100% - 28px) !important;
    gap: 10px !important;
    z-index: 50 !important;
  }

  html:not(.dark-mode) #gmail-mobile-search-bar,
  body:not(.dark-mode) #gmail-mobile-search-bar {
    background: #eaf1fb !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important;
  }

  #gmail-mobile-search-bar .gmail-mobile-drawer-toggle,
  #gmail-mobile-search-bar .gmail-mobile-filter-btn {
    background: transparent !important;
    border: none !important;
    color: #e8eaed !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }

  html:not(.dark-mode) #gmail-mobile-search-bar .gmail-mobile-drawer-toggle,
  html:not(.dark-mode) #gmail-mobile-search-bar .gmail-mobile-filter-btn,
  body:not(.dark-mode) #gmail-mobile-search-bar .gmail-mobile-drawer-toggle,
  body:not(.dark-mode) #gmail-mobile-search-bar .gmail-mobile-filter-btn {
    color: #444746 !important;
  }

  #gmail-mobile-search-bar .gmail-mobile-search-input-wrap {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
  }

  #gmail-mobile-search-bar .gmail-mobile-search-input {
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    color: #e8eaed !important;
    font-size: 16px !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #gmail-mobile-search-bar .gmail-mobile-search-input::placeholder {
    color: #9aa0a6 !important;
  }

  html:not(.dark-mode) #gmail-mobile-search-bar .gmail-mobile-search-input,
  body:not(.dark-mode) #gmail-mobile-search-bar .gmail-mobile-search-input {
    color: #1f1f1f !important;
  }

  html:not(.dark-mode) #gmail-mobile-search-bar .gmail-mobile-search-input::placeholder,
  body:not(.dark-mode) #gmail-mobile-search-bar .gmail-mobile-search-input::placeholder {
    color: #5f6368 !important;
  }

  #gmail-mobile-search-bar .gmail-mobile-avatar-btn {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #1a73e8 !important;
    color: #ffffff !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
  }

  /* 3A-2. GMAIL MOBILE ACCOUNT POPOVER / DIALOG */
  .gmail-mobile-account-backdrop {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.45) !important;
    z-index: 10000 !important;
    display: none;
    opacity: 0;
    transition: opacity 0.2s ease !important;
  }

  .gmail-mobile-account-backdrop.active {
    display: block !important;
    opacity: 1 !important;
  }

  .gmail-mobile-account-dialog {
    position: fixed !important;
    top: 60px !important;
    right: 12px !important;
    width: min(340px, calc(100vw - 24px)) !important;
    background: #ffffff !important;
    color: #1f1f1f !important;
    border-radius: 24px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.22) !important;
    z-index: 10001 !important;
    padding: 16px 20px 24px 20px !important;
    box-sizing: border-box !important;
    display: none;
    opacity: 0;
    transform: translateY(-8px) scale(0.96) !important;
    transition: opacity 0.2s ease, transform 0.2s cubic-bezier(0.1, 0.9, 0.2, 1) !important;
  }

  .gmail-mobile-account-dialog.open {
    display: block !important;
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
  }

  html.dark-mode .gmail-mobile-account-dialog,
  body.dark-mode .gmail-mobile-account-dialog {
    background: #2d2e30 !important;
    color: #e8eaed !important;
    border: 1px solid #3c4043 !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5) !important;
  }

  .gmail-mobile-account-header {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    margin-bottom: 4px !important;
  }

  .gmail-mobile-account-close {
    background: transparent !important;
    border: none !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #5f6368 !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: background 0.15s ease !important;
  }

  .gmail-mobile-account-close:hover,
  .gmail-mobile-account-close:active {
    background: rgba(0, 0, 0, 0.08) !important;
  }

  html.dark-mode .gmail-mobile-account-close,
  body.dark-mode .gmail-mobile-account-close {
    color: #9aa0a6 !important;
  }

  html.dark-mode .gmail-mobile-account-close:hover,
  html.dark-mode .gmail-mobile-account-close:active {
    background: rgba(255, 255, 255, 0.1) !important;
  }

  .gmail-mobile-account-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 12px !important;
  }

  .gmail-mobile-account-avatar-large {
    width: 68px !important;
    height: 68px !important;
    border-radius: 50% !important;
    background: #1a73e8 !important;
    color: #ffffff !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 8px rgba(26, 115, 232, 0.35) !important;
    flex-shrink: 0 !important;
  }

  .gmail-mobile-account-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 4px !important;
    max-width: 100% !important;
  }

  .gmail-mobile-account-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    color: inherit !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    max-width: 100% !important;
  }

  .gmail-mobile-account-email {
    font-size: 13.5px !important;
    color: #5f6368 !important;
    font-family: Roboto, Arial, sans-serif !important;
    word-break: break-all !important;
    max-width: 100% !important;
    line-height: 1.3 !important;
  }

  html.dark-mode .gmail-mobile-account-email,
  body.dark-mode .gmail-mobile-account-email {
    color: #9aa0a6 !important;
  }

  .gmail-mobile-account-divider {
    height: 1px !important;
    background: #e0e0e0 !important;
    margin: 18px 0 16px 0 !important;
    width: 100% !important;
  }

  html.dark-mode .gmail-mobile-account-divider,
  body.dark-mode .gmail-mobile-account-divider {
    background: #3c4043 !important;
  }

  .gmail-mobile-account-actions {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
  }

  .gmail-mobile-account-logout-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 240px !important;
    height: 42px !important;
    border-radius: 21px !important;
    border: 1px solid #dadce0 !important;
    background: #ffffff !important;
    color: #3c4043 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    cursor: pointer !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
  }

  .gmail-mobile-account-logout-btn:hover {
    background: #f8f9fa !important;
    border-color: #c6c6c6 !important;
  }

  .gmail-mobile-account-logout-btn:active {
    background: #f1f3f4 !important;
  }

  html.dark-mode .gmail-mobile-account-logout-btn,
  body.dark-mode .gmail-mobile-account-logout-btn {
    background: #35363a !important;
    border-color: #5f6368 !important;
    color: #e8eaed !important;
  }

  html.dark-mode .gmail-mobile-account-logout-btn:hover {
    background: #3c4043 !important;
  }

  html.dark-mode .gmail-mobile-account-logout-btn:active {
    background: #4a4d51 !important;
  }

  /* 3B. GMAIL QUICK SEARCH FILTER CHIPS ON MOBILE */
  .gmail-search-filter-chips {
    display: none !important;
  }

  body.gmail-search-open .gmail-search-filter-chips {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 0 14px 10px 14px !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    background: transparent !important;
    border-bottom: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    z-index: 45 !important;
    position: relative !important;
  }

  body.gmail-search-open .gmail-search-filter-chips::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  .gmail-filter-chip {
    height: 32px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    border-radius: 18px !important;
    flex-shrink: 0 !important;
    background: #202124 !important;
    border: 1px solid #44474f !important;
    color: #e3e3e3 !important;
    transition: all 0.15s ease !important;
  }

  html:not(.dark-mode) .gmail-filter-chip,
  body:not(.dark-mode) .gmail-filter-chip {
    background: #f1f3f4 !important;
    border: 1px solid #dadce0 !important;
    color: #3c4043 !important;
  }

  .gmail-filter-chip.active {
    background: #0b57d0 !important;
    border-color: #0b57d0 !important;
    color: #ffffff !important;
  }

  html:not(.dark-mode) .gmail-filter-chip.active,
  body:not(.dark-mode) .gmail-filter-chip.active {
    background: #c2e7ff !important;
    border-color: #7fcfff !important;
    color: #001d35 !important;
  }

  .gmail-filter-chip.clear-all {
    color: #ea4335 !important;
    border-color: rgba(234, 67, 53, 0.4) !important;
  }

  .gmail-chip-menu {
    position: fixed !important;
    top: 110px !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    max-width: calc(100vw - 28px) !important;
    z-index: 100000 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
    background: #2b2f3a !important;
    border: 1px solid #44474f !important;
    border-radius: 12px !important;
  }

  html:not(.dark-mode) .gmail-chip-menu,
  body:not(.dark-mode) .gmail-chip-menu {
    background: #ffffff !important;
    border: 1px solid #dadce0 !important;
  }

  /* 4. PRIMARY SECTION TITLE (MATCHING SCREENSHOT 2) */
  .gmail-mobile-section-title {
    display: block !important;
    padding: 10px 16px 4px 16px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #9aa0a6 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    text-transform: capitalize !important;
    letter-spacing: 0.2px !important;
    flex-shrink: 0 !important;
  }

  html:not(.dark-mode) .gmail-mobile-section-title,
  body:not(.dark-mode) .gmail-mobile-section-title {
    color: #5f6368 !important;
  }

  /* 4B. SMART CATEGORY CARDS (UPDATES, PROMOTIONS) - REMOVED PER REQUIREMENT */
  .gmail-mobile-categories {
    display: none !important;
  }

  /* 5. MESSAGE LIST CONTAINER (TASK MAIL) */
  body.task-mail #layout > #layout-list,
  body.task-mail #layout-list {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 52px !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: calc(100vh - 52px) !important;
    height: calc(100dvh - 52px) !important;
    border: none !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    background: #111318 !important;
  }

  html:not(.dark-mode) body.task-mail #layout > #layout-list,
  html:not(.dark-mode) body.task-mail #layout-list,
  body:not(.dark-mode) body.task-mail #layout > #layout-list,
  body:not(.dark-mode) body.task-mail #layout-list {
    background: #ffffff !important;
  }

  /* 5B. SETTINGS & CONTACTS TASK CONTAINERS */
  body.task-settings #layout,
  body.task-addressbook #layout {
    height: calc(100vh - 52px) !important;
    height: calc(100dvh - 52px) !important;
    width: 100vw !important;
    position: relative !important;
    overflow: hidden !important;
  }

  body.task-addressbook #layout-list > .header,
  body.task-addressbook #layout-sidebar > .header,
  body.task-addressbook #layout-content > .header,
  body.task-settings #layout-list > .header,
  body.task-settings #layout-sidebar > .header,
  body.task-settings #layout-content > .header {
    height: 48px !important;
    min-height: 48px !important;
    line-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 10px !important;
  }

  body.task-addressbook a.back-sidebar-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 12px !important;
    height: 34px !important;
    border-radius: 17px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    color: inherit !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    margin-right: 8px !important;
  }

  html:not(.dark-mode) body.task-addressbook a.back-sidebar-button,
  body:not(.dark-mode) body.task-addressbook a.back-sidebar-button {
    background: #eaf1fb !important;
    color: #1a73e8 !important;
  }

  body.task-addressbook a.back-sidebar-button .inner {
    display: inline !important;
  }

  body.task-addressbook #layout-sidebar > .header a.back-list-button,
  body.task-settings #layout-list > .header a.back-sidebar-button,
  body.task-settings #layout-content > .header a.back-list-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 12px !important;
    height: 34px !important;
    border-radius: 17px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    color: inherit !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
  }

  html:not(.dark-mode) body.task-addressbook #layout-sidebar > .header a.back-list-button,
  html:not(.dark-mode) body.task-settings #layout-list > .header a.back-sidebar-button,
  html:not(.dark-mode) body.task-settings #layout-content > .header a.back-list-button {
    background: #eaf1fb !important;
    color: #1a73e8 !important;
  }

  body.task-addressbook #layout > #layout-sidebar,
  body.task-settings #layout > #layout-sidebar,
  body.task-addressbook #layout-sidebar,
  body.task-settings #layout-sidebar {
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    flex: 1 1 100% !important;
    position: relative !important;
    transform: none !important;
    height: 100% !important;
    display: flex !important;
  }

  body.task-addressbook #layout > #layout-sidebar.hidden,
  body.task-settings #layout > #layout-sidebar.hidden,
  body.task-addressbook #layout-sidebar.hidden,
  body.task-settings #layout-sidebar.hidden {
    display: none !important;
  }

  body.task-addressbook #layout > #layout-list,
  body.task-settings #layout > #layout-list,
  body.task-addressbook #layout-list,
  body.task-settings #layout-list {
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    flex: 1 1 100% !important;
    position: relative !important;
    height: 100% !important;
    display: flex !important;
  }

  body.task-addressbook #layout > #layout-list.hidden,
  body.task-settings #layout > #layout-list.hidden,
  body.task-addressbook #layout-list.hidden,
  body.task-settings #layout-list.hidden {
    display: none !important;
  }

  body.task-addressbook #layout > #layout-content,
  body.task-settings #layout > #layout-content,
  body.task-addressbook #layout-content,
  body.task-settings #layout-content {
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    flex: 1 1 100% !important;
    position: relative !important;
    height: 100% !important;
    display: flex !important;
  }

  body.task-addressbook #layout > #layout-content.hidden,
  body.task-settings #layout > #layout-content.hidden,
  body.task-addressbook #layout-content.hidden,
  body.task-settings #layout-content.hidden {
    display: none !important;
  }

  #messagelist-content {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 90px !important;
    -webkit-overflow-scrolling: touch !important;
    display: block !important;
    scrollbar-width: thin !important;
  }

  #messagelist-content::-webkit-scrollbar,
  #layout-list .scroller::-webkit-scrollbar {
    width: 4px !important;
  }

  #messagelist-content::-webkit-scrollbar-thumb,
  #layout-list .scroller::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.25) !important;
    border-radius: 4px !important;
  }

  #layout #layout-list table.messagelist,
  table.messagelist,
  table.messagelist tbody {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* 6. EACH EMAIL ROW (MATCHING SCREENSHOT 2 EXACTLY) */
  #layout #layout-list table.messagelist tbody tr,
  table.messagelist tbody tr {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
    margin: 0 !important;
    position: relative !important;
    cursor: pointer !important;
    background: transparent !important;
  }

  html:not(.dark-mode) #layout #layout-list table.messagelist tbody tr,
  html:not(.dark-mode) table.messagelist tbody tr,
  body:not(.dark-mode) #layout #layout-list table.messagelist tbody tr,
  body:not(.dark-mode) table.messagelist tbody tr {
    border-bottom: 1px solid #f2f2f2 !important;
    background: #ffffff !important;
  }

  #layout #layout-list table.messagelist tbody tr.unread,
  table.messagelist tbody tr.unread {
    background: rgba(255, 255, 255, 0.03) !important;
  }

  html:not(.dark-mode) #layout #layout-list table.messagelist tbody tr.unread,
  html:not(.dark-mode) table.messagelist tbody tr.unread,
  body:not(.dark-mode) #layout #layout-list table.messagelist tbody tr.unread,
  body:not(.dark-mode) table.messagelist tbody tr.unread {
    background: #f2f6fc !important;
  }

  /* Hide raw table cells when custom mobile wrap is active */
  #layout #layout-list table.messagelist tbody tr td.threads,
  #layout #layout-list table.messagelist tbody tr td.flags,
  #layout #layout-list table.messagelist tbody tr td.flag,
  #layout #layout-list table.messagelist tbody tr td.size,
  #layout #layout-list table.messagelist tbody tr td.attachment,
  #layout #layout-list table.messagelist tbody tr td.status,
  #layout #layout-list table.messagelist tbody tr td.selection,
  #layout #layout-list table.messagelist tbody tr td.fromto,
  #layout #layout-list table.messagelist tbody tr td.date {
    display: none !important;
  }

  #layout #layout-list table.messagelist tbody tr td.subject,
  table.messagelist tbody tr td.subject {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
  }

  /* Completely hide all native Roundcube default spans inside td.subject */
  #layout #layout-list table.messagelist tbody tr td.subject > a > span,
  #layout #layout-list table.messagelist tbody tr td.subject > a > .msgicon,
  #layout #layout-list table.messagelist tbody tr td.subject > a > .fromto,
  #layout #layout-list table.messagelist tbody tr td.subject > a > .date,
  #layout #layout-list table.messagelist tbody tr td.subject > a > .subject,
  #layout #layout-list table.messagelist tbody tr td.subject > a > .attachment,
  #layout #layout-list table.messagelist tbody tr td.subject > a > .size,
  #layout #layout-list table.messagelist tbody tr td.subject > span:not(.gmail-mobile-row-wrap),
  #layout #layout-list table.messagelist tbody tr td.subject > .msgicon,
  #layout #layout-list table.messagelist tbody tr td.subject > .fromto,
  #layout #layout-list table.messagelist tbody tr td.subject > .date,
  #layout #layout-list table.messagelist tbody tr td.subject > .subject,
  table.messagelist tbody tr td.subject > a > span,
  table.messagelist tbody tr td.subject > a > .msgicon,
  table.messagelist tbody tr td.subject > a > .fromto,
  table.messagelist tbody tr td.subject > a > .date,
  table.messagelist tbody tr td.subject > a > .subject,
  table.messagelist tbody tr td.subject > span:not(.gmail-mobile-row-wrap),
  table.messagelist tbody tr td.subject > .msgicon {
    display: none !important;
  }

  #layout #layout-list table.messagelist tbody tr td.subject > a,
  table.messagelist tbody tr td.subject > a {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    text-decoration: none !important;
  }

  /* 7. CUSTOM MOBILE ROW STRUCTURE */
  .gmail-mobile-row-wrap {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    width: 100% !important;
    gap: 14px !important;
  }

  /* 7a. Circular Avatar with Initial (40px) */
  .gmail-mobile-avatar {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    user-select: none !important;
    position: relative !important;
  }

  .gmail-mobile-avatar .avatar-check {
    display: none !important;
  }

  .gmail-mobile-avatar.selected {
    background: #1a73e8 !important;
  }

  .gmail-mobile-avatar.selected .avatar-char {
    display: none !important;
  }

  .gmail-mobile-avatar.selected .avatar-check {
    display: block !important;
  }

  /* 7b. Row Content (Lines 1, 2, 3, 4) */
  .gmail-mobile-content {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    overflow: hidden !important;
  }

  /* Line 1: Sender Name & Date & Unread Dot */
  .gmail-mobile-line1 {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 6px !important;
  }

  .gmail-mobile-sender {
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #e8eaed !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  .gmail-mobile-sender.unread {
    font-weight: 700 !important;
    color: #ffffff !important;
  }

  html:not(.dark-mode) .gmail-mobile-sender,
  body:not(.dark-mode) .gmail-mobile-sender {
    color: #444746 !important;
  }

  html:not(.dark-mode) .gmail-mobile-sender.unread,
  body:not(.dark-mode) .gmail-mobile-sender.unread {
    color: #1f1f1f !important;
  }

  .gmail-mobile-meta {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-shrink: 0 !important;
  }

  .gmail-mobile-date {
    font-size: 12px !important;
    color: #9aa0a6 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
  }

  .gmail-mobile-date.unread {
    color: #8ab4f8 !important;
    font-weight: 600 !important;
  }

  html:not(.dark-mode) .gmail-mobile-date,
  body:not(.dark-mode) .gmail-mobile-date {
    color: #5f6368 !important;
  }

  html:not(.dark-mode) .gmail-mobile-date.unread,
  body:not(.dark-mode) .gmail-mobile-date.unread {
    color: #0b57d0 !important;
  }

  .gmail-mobile-unread-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #8ab4f8 !important;
    flex-shrink: 0 !important;
  }

  html:not(.dark-mode) .gmail-mobile-unread-dot,
  body:not(.dark-mode) .gmail-mobile-unread-dot {
    background: #0b57d0 !important;
  }

  /* Line 2: Subject */
  .gmail-mobile-line2 {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #c4c7c5 !important;
    font-family: Roboto, sans-serif !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.3 !important;
  }

  .gmail-mobile-line2.unread {
    font-weight: 700 !important;
    color: #e8eaed !important;
  }

  html:not(.dark-mode) .gmail-mobile-line2,
  body:not(.dark-mode) .gmail-mobile-line2 {
    color: #5f6368 !important;
  }

  html:not(.dark-mode) .gmail-mobile-line2.unread,
  body:not(.dark-mode) .gmail-mobile-line2.unread {
    color: #1f1f1f !important;
  }

  /* Line 3: Snippet & Star */
  .gmail-mobile-line3 {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 8px !important;
  }

  .gmail-mobile-snippet {
    font-size: 13.5px !important;
    color: #8e918f !important;
    font-family: Roboto, sans-serif !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }

  html:not(.dark-mode) .gmail-mobile-snippet,
  body:not(.dark-mode) .gmail-mobile-snippet {
    color: #747775 !important;
  }

  .gmail-mobile-star-btn {
    background: transparent !important;
    border: none !important;
    color: #8e918f !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
  }

  .gmail-mobile-star-btn.starred {
    color: #fbbc04 !important;
  }

  /* Line 4: Attachment Chip */
  .gmail-mobile-att-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 12px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #e8eaed !important;
    background: rgba(255, 255, 255, 0.05) !important;
    margin-top: 4px !important;
    width: fit-content !important;
    max-width: 90% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
  }

  html:not(.dark-mode) .gmail-mobile-att-chip,
  body:not(.dark-mode) .gmail-mobile-att-chip {
    border-color: #dadce0 !important;
    color: #3c4043 !important;
    background: #f8fafd !important;
  }

  .gmail-mobile-att-chip svg {
    flex-shrink: 0 !important;
    color: #8ab4f8 !important;
  }

  html:not(.dark-mode) .gmail-mobile-att-chip svg,
  body:not(.dark-mode) .gmail-mobile-att-chip svg {
    color: #0b57d0 !important;
  }

  /* 8. FLOATING COMPOSE BUTTON (MATCHING SCREENSHOT 2 CYAN PILL) */
  #layout-sidebar .compose-btn,
  #layout-sidebar a.button.compose {
    display: none !important;
  }

  #layout-list .floating-action-buttons,
  .floating-action-buttons {
    display: block !important;
    position: fixed !important;
    bottom: 68px !important;
    right: 16px !important;
    z-index: 900 !important;
    width: auto !important;
    height: auto !important;
  }

  #layout-list .floating-action-buttons a,
  .floating-action-buttons a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    height: 52px !important;
    padding: 0 20px 0 16px !important;
    background: #004d61 !important;
    color: #c2e7ff !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35) !important;
    text-decoration: none !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 600 !important;
  }

  html:not(.dark-mode) #layout-list .floating-action-buttons a,
  html:not(.dark-mode) .floating-action-buttons a,
  body:not(.dark-mode) #layout-list .floating-action-buttons a,
  body:not(.dark-mode) .floating-action-buttons a {
    background: #c2e7ff !important;
    color: #001d35 !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15) !important;
  }

  /* 9. BOTTOM NAVIGATION BAR (MATCHING SCREENSHOT 2) */
  #gmail-mobile-bottom-nav {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 52px !important;
    background: #111318 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    z-index: 1000 !important;
    align-items: center !important;
    justify-content: space-around !important;
  }

  html:not(.dark-mode) #gmail-mobile-bottom-nav,
  body:not(.dark-mode) #gmail-mobile-bottom-nav {
    background: #ffffff !important;
    border-top: 1px solid #f2f2f2 !important;
  }

  #gmail-mobile-bottom-nav .mobile-nav-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 !important;
    height: 100% !important;
    text-decoration: none !important;
    color: #8e918f !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    position: relative !important;
  }

  #gmail-mobile-bottom-nav .mobile-nav-item.active {
    color: #c2e7ff !important;
  }

  html:not(.dark-mode) #gmail-mobile-bottom-nav .mobile-nav-item.active,
  body:not(.dark-mode) #gmail-mobile-bottom-nav .mobile-nav-item.active {
    color: #001d35 !important;
  }

  #gmail-mobile-bottom-nav .mobile-nav-icon-wrap {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 28px !important;
    border-radius: 14px !important;
  }

  #gmail-mobile-bottom-nav .mobile-nav-item.active .mobile-nav-icon-wrap {
    background: #004d61 !important;
  }

  html:not(.dark-mode) #gmail-mobile-bottom-nav .mobile-nav-item.active .mobile-nav-icon-wrap,
  body:not(.dark-mode) #gmail-mobile-bottom-nav .mobile-nav-item.active .mobile-nav-icon-wrap {
    background: #c2e7ff !important;
  }

  /* Unread Count Pill on Bottom Nav */
  #gmail-mobile-bottom-nav .mobile-nav-badge {
    position: absolute !important;
    top: -2px !important;
    right: 6px !important;
    background: #f28b82 !important;
    color: #601410 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    padding: 1px 5px !important;
    border-radius: 8px !important;
    line-height: 12px !important;
  }

  /* 10. OFF-CANVAS SIDEBAR DRAWER & BACKDROP (TASK MAIL) */
  body.task-mail #gmail-mobile-drawer-backdrop {
    display: block !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.6) !important;
    z-index: 9998 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.25s ease !important;
  }

  body.task-mail #gmail-mobile-drawer-backdrop.active {
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.task-mail #layout-sidebar,
  body.task-mail #layout > #layout-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    width: 285px !important;
    max-width: 82vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 9999 !important;
    background: #1e1f20 !important;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.6) !important;
    transform: translateX(-100%) !important;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: flex !important;
    flex-direction: column !important;
  }

  html:not(.dark-mode) body.task-mail #layout-sidebar,
  html:not(.dark-mode) body.task-mail #layout > #layout-sidebar,
  body:not(.dark-mode) body.task-mail #layout-sidebar,
  body:not(.dark-mode) body.task-mail #layout > #layout-sidebar {
    background: #ffffff !important;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.25) !important;
  }

  body.task-mail.mobile-drawer-open #layout-sidebar,
  body.task-mail.mobile-drawer-open #layout > #layout-sidebar,
  body.task-mail #layout-sidebar.open,
  body.task-mail #layout > #layout-sidebar.open {
    transform: translateX(0) !important;
    display: flex !important;
    visibility: visible !important;
  }

  .mobile-drawer-header {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 14px 18px 10px 20px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    flex-shrink: 0 !important;
  }

  html:not(.dark-mode) .mobile-drawer-header,
  body:not(.dark-mode) .mobile-drawer-header {
    border-bottom: 1px solid #f2f2f2 !important;
  }

  .mobile-drawer-logo {
    display: none !important;
  }

  .mobile-drawer-close {
    background: transparent !important;
    border: none !important;
    color: #9aa0a6 !important;
    cursor: pointer !important;
    padding: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  html:not(.dark-mode) .mobile-drawer-close,
  body:not(.dark-mode) .mobile-drawer-close {
    color: #5f6368 !important;
  }

  #layout-sidebar #folderlist-content {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    display: block !important;
    min-height: 0 !important;
    background: transparent !important;
  }

  #layout-sidebar #mailboxlist {
    display: block !important;
    list-style: none !important;
    padding: 8px 0 !important;
    margin: 0 !important;
  }

  #layout-sidebar #mailboxlist li {
    display: block !important;
    margin: 2px 8px !important;
  }

  #layout-sidebar #mailboxlist li a {
    display: flex !important;
    align-items: center !important;
    color: #e8eaed !important;
    padding: 10px 16px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
  }

  html:not(.dark-mode) #layout-sidebar #mailboxlist li a,
  body:not(.dark-mode) #layout-sidebar #mailboxlist li a {
    color: #1f1f1f !important;
  }

  #layout-sidebar #mailboxlist li.selected > a {
    background: #004a77 !important;
    color: #c2e7ff !important;
    font-weight: 700 !important;
  }

  html:not(.dark-mode) #layout-sidebar #mailboxlist li.selected > a,
  body:not(.dark-mode) #layout-sidebar #mailboxlist li.selected > a {
    background: #c2e7ff !important;
    color: #001d35 !important;
  }

  /* 10b. MOBILE DRAWER TOOLS (CALENDAR, THEMES, DARK/LIGHT MODE) */
  .mobile-drawer-tools,
  #mobile-drawer-tools {
    display: block !important;
    padding: 4px 0 16px 0 !important;
    margin-top: 6px !important;
  }

  .mobile-drawer-divider {
    height: 1px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    margin: 8px 16px !important;
  }

  html:not(.dark-mode) .mobile-drawer-divider,
  body:not(.dark-mode) .mobile-drawer-divider {
    background: #e8eaed !important;
  }

  .mobile-drawer-section-label {
    font-size: 11.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    color: #9aa0a6 !important;
    padding: 6px 20px 4px 20px !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
  }

  html:not(.dark-mode) .mobile-drawer-section-label,
  body:not(.dark-mode) .mobile-drawer-section-label {
    color: #5f6368 !important;
  }

  .mobile-drawer-nav-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .mobile-drawer-nav-item {
    display: block !important;
    margin: 2px 8px !important;
  }

  .mobile-drawer-nav-link {
    display: flex !important;
    align-items: center !important;
    color: #e8eaed !important;
    padding: 10px 16px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    cursor: pointer !important;
    user-select: none !important;
    -webkit-user-select: none !important;
  }

  html:not(.dark-mode) .mobile-drawer-nav-link,
  body:not(.dark-mode) .mobile-drawer-nav-link {
    color: #1f1f1f !important;
  }

  .mobile-drawer-nav-link:hover,
  .mobile-drawer-nav-link:active {
    background: rgba(255, 255, 255, 0.08) !important;
  }

  html:not(.dark-mode) .mobile-drawer-nav-link:hover,
  html:not(.dark-mode) .mobile-drawer-nav-link:active,
  body:not(.dark-mode) .mobile-drawer-nav-link:hover,
  body:not(.dark-mode) .mobile-drawer-nav-link:active {
    background: rgba(0, 0, 0, 0.05) !important;
  }

  .mobile-drawer-nav-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    margin-right: 14px !important;
    flex-shrink: 0 !important;
  }

  .mobile-drawer-nav-text {
    flex: 1 1 auto !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .mobile-drawer-toggle-switch {
    width: 36px !important;
    height: 20px !important;
    background: #5f6368 !important;
    border-radius: 12px !important;
    position: relative !important;
    transition: background 0.2s ease !important;
    flex-shrink: 0 !important;
    margin-left: 8px !important;
  }

  .mobile-drawer-toggle-switch.active {
    background: #8ab4f8 !important;
  }

  .mobile-drawer-toggle-knob {
    width: 14px !important;
    height: 14px !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    position: absolute !important;
    top: 3px !important;
    left: 3px !important;
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
  }

  .mobile-drawer-toggle-switch.active .mobile-drawer-toggle-knob {
    transform: translateX(16px) !important;
    background: #003366 !important;
  }

  /* 11. FULLSCREEN PREVIEW & COMPOSE ON MOBILE */
  body.task-mail #layout.has-message-open > #layout-list,
  body.mail #layout.has-message-open > #layout-list {
    display: none !important;
  }

  body.task-mail #layout.has-message-open > #layout-content,
  body.mail #layout.has-message-open > #layout-content,
  body.task-mail #layout.has-message-open > #layout-content.hidden,
  body.mail #layout.has-message-open > #layout-content.hidden,
  body.task-mail #layout.has-message-open #layout-content,
  body.mail #layout.has-message-open #layout-content {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 500 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #111318 !important;
    overflow: hidden !important;
  }

  /* Hide mobile bottom navigation bar when viewing an email */
  #layout.has-message-open ~ #gmail-mobile-bottom-nav,
  body.has-message-open #gmail-mobile-bottom-nav {
    display: none !important;
  }

  html:not(.dark-mode) body.task-mail #layout.has-message-open > #layout-content,
  body:not(.dark-mode) body.task-mail #layout.has-message-open > #layout-content {
    background: #ffffff !important;
  }

  /* 11. GMAIL-STYLE MESSAGE VIEW TOOLBAR (TOP BAR) */
  body.task-mail #layout.has-message-open #layout-content > .header {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 6px !important;
    margin: 0 !important;
    border-bottom: 1px solid #e0e0e0 !important;
    background: #ffffff !important;
    color: #444746 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06) !important;
    box-sizing: border-box !important;
    gap: 0 !important;
    overflow: visible !important;
  }

  html.dark-mode body.task-mail #layout.has-message-open #layout-content > .header,
  body.dark-mode body.task-mail #layout.has-message-open #layout-content > .header {
    background: #1e1e1e !important;
    color: #e8eaed !important;
    border-bottom-color: #333 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
  }

  html:not(.dark-mode) body.task-mail #layout.has-message-open #layout-content > .header {
    background: #ffffff !important;
    color: #444746 !important;
    border-bottom: 1px solid #e0e0e0 !important;
  }

  /* Back button — stays flush left with proper padding */
  body.task-mail #layout.has-message-open #layout-content > .header a.close-preview-btn,
  body.task-mail #layout.has-message-open #layout-content > .header a.back-list-button,
  body.mail #layout.has-message-open #layout-content > .header a.close-preview-btn,
  body.mail #layout.has-message-open #layout-content > .header a.back-list-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    border-radius: 50% !important;
    color: #5f6368 !important;
    cursor: pointer !important;
    visibility: visible !important;
    margin: 0 4px 0 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    background: transparent !important;
    border: none !important;
    transition: background 0.15s ease !important;
    text-decoration: none !important;
    order: -1 !important;
  }

  html.dark-mode body.task-mail #layout.has-message-open #layout-content > .header a.close-preview-btn,
  html.dark-mode body.task-mail #layout.has-message-open #layout-content > .header a.back-list-button,
  body.dark-mode body.task-mail #layout.has-message-open #layout-content > .header a.close-preview-btn,
  body.dark-mode body.task-mail #layout.has-message-open #layout-content > .header a.back-list-button {
    color: #e8eaed !important;
  }

  body.task-mail #layout.has-message-open #layout-content > .header a.close-preview-btn:active,
  body.task-mail #layout.has-message-open #layout-content > .header a.back-list-button:active {
    background: rgba(0, 0, 0, 0.08) !important;
  }

  /* Hide header title text on mobile — toolbar only */
  body.task-mail #layout.has-message-open #layout-content > .header .header-title,
  body.mail #layout.has-message-open #layout-content > .header .header-title {
    display: none !important;
  }

  /* Toolbar container — centered in remaining space with neat uniform gap */
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar,
  body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar,
  body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu,
  body.mail #layout.has-message-open #layout-content > .header .toolbar,
  body.mail #layout.has-message-open #layout-content > .header #mailtoolbar,
  body.mail #layout.has-message-open #layout-content > .header #toolbar-menu {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
    gap: clamp(2px, 1.2vw, 6px) !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    position: static !important;
    overflow: visible !important;
    visibility: visible !important;
    list-style: none !important;
  }

  /* HIDE all cloned list items, duplicate buttons, and unwanted artifacts */
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar li:nth-child(n+8),
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar li.hidden-big,
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar li.hidden-large,
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar li:has([id*="clone"]),
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar li:has([id*="-clone"]),
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar li:has([id*="_clone"]),
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar li:has(.hidden-big),
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar li:has(.hidden-large),
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar li:has(a.select),
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar li:has(a.refresh),
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar li:has(a.options),
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar [id*="clone"],
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar [id*="-clone"],
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar [id*="_clone"],
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar .hidden-big,
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar .hidden-large,
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar a.select,
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar a.refresh,
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar a.options,
  body.task-mail #layout.has-message-open #layout-content > .header a.toolbar-menu-button,
  body.task-mail #layout.has-message-open #layout-content > .header a.toolbar-list-button,
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar .dropbutton > a.dropdown,
  body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar .dropbutton > a.dropdown,
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar a#replyallmenulink,
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar a#forwardmenulink,
  body.mail #layout.has-message-open #layout-content > .header .toolbar li:nth-child(n+8),
  body.mail #layout.has-message-open #layout-content > .header .toolbar [id*="clone"],
  body.mail #layout.has-message-open #layout-content > .header .toolbar [id*="-clone"] {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Toolbar list items — clean display for valid message action items */
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar li,
  body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar li,
  body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu li,
  body.mail #layout.has-message-open #layout-content > .header .toolbar li,
  body.mail #layout.has-message-open #layout-content > .header #mailtoolbar li,
  body.mail #layout.has-message-open #layout-content > .header #toolbar-menu li {
    list-style: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }

  /* Each valid message action button — circular touch target */
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar a,
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar button,
  body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar a,
  body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar button,
  body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu a,
  body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu button,
  body.mail #layout.has-message-open #layout-content > .header .toolbar a,
  body.mail #layout.has-message-open #layout-content > .header #mailtoolbar a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    border-radius: 50% !important;
    color: #5f6368 !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease !important;
    position: relative !important;
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
  }

  html.dark-mode body.task-mail #layout.has-message-open #layout-content > .header .toolbar a,
  html.dark-mode body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar a,
  html.dark-mode body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu a,
  body.dark-mode body.task-mail #layout.has-message-open #layout-content > .header .toolbar a,
  body.dark-mode body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar a {
    color: #bdc1c6 !important;
  }

  body.task-mail #layout.has-message-open #layout-content > .header .toolbar a:hover,
  body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar a:hover,
  body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu a:hover {
    background: rgba(0, 0, 0, 0.06) !important;
    color: #1f1f1f !important;
  }

  html.dark-mode body.task-mail #layout.has-message-open #layout-content > .header .toolbar a:hover,
  html.dark-mode body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar a:hover,
  html.dark-mode body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu a:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
  }

  body.task-mail #layout.has-message-open #layout-content > .header .toolbar a:active,
  body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar a:active,
  body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu a:active {
    background: rgba(0, 0, 0, 0.12) !important;
  }

  html.dark-mode body.task-mail #layout.has-message-open #layout-content > .header .toolbar a:active,
  html.dark-mode body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar a:active,
  html.dark-mode body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu a:active {
    background: rgba(255, 255, 255, 0.14) !important;
  }

  /* Hide button text labels — icons only */
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar a .inner,
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar a span.inner,
  body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar a .inner,
  body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar a span.inner,
  body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu a .inner,
  body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu a span.inner {
    display: none !important;
  }

  /* Icon sizing — clean 19px */
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar a::before,
  body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar a::before,
  body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu a::before {
    font-size: 19px !important;
    line-height: 1 !important;
  }

  body.task-mail #layout.has-message-open #layout-content > .header .toolbar a svg,
  body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar a svg,
  body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu a svg {
    width: 19px !important;
    height: 19px !important;
  }

  /* Keep dropbutton unified */
  body.task-mail #layout.has-message-open #layout-content > .header .toolbar .dropbutton,
  body.task-mail #layout.has-message-open #layout-content > .header #mailtoolbar .dropbutton,
  body.task-mail #layout.has-message-open #layout-content > .header #toolbar-menu .dropbutton {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }

  body.task-mail #layout.has-message-open #layout-content .iframe-wrapper {
    flex: 1 1 auto !important;
    height: calc(100% - 48px) !important;
    width: 100% !important;
    display: block !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  body.task-mail #layout.has-message-open #layout-content .iframe-wrapper iframe {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    border: none !important;
  }

  /* Full page compose on mobile */
  body.action-compose #layout,
  body.action-compose #layout-content {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    z-index: 1000 !important;
  }

  body.action-compose #layout-menu,
  body.action-compose #layout-sidebar,
  body.action-compose #gmail-mobile-bottom-nav {
    display: none !important;
  }

  /* Fallback docked compose if somehow triggered on mobile: full screen */
  .gmail-compose-dock,
  #gmail-compose-dock {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
    z-index: 99999 !important;
    margin: 0 !important;
  }

  .gmail-compose-dock .gmail-compose-body,
  #gmail-compose-dock .gmail-compose-body {
    height: calc(100vh - 42px) !important;
    height: calc(100dvh - 42px) !important;
  }

  /* 12. GMAIL-STYLE SELECTION TOOLBAR (TOP BAR) */
  .gmail-mobile-selection-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 8px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #444746 !important;
    border-bottom: 1px solid #e0e0e0 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
    box-sizing: border-box !important;
    z-index: 110 !important;
    position: sticky !important;
    top: 0 !important;
    flex-shrink: 0 !important;
    gap: 0 !important;
  }

  html.dark-mode .gmail-mobile-selection-bar,
  body.dark-mode .gmail-mobile-selection-bar {
    background: #1e1e1e !important;
    color: #e8eaed !important;
    border-bottom-color: #333 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
  }

  /* Back arrow — stays left */
  .gmail-mobile-selection-bar > .mobile-sel-back {
    flex-shrink: 0 !important;
  }

  /* Count number — stays next to back arrow */
  .gmail-mobile-selection-bar > .mobile-sel-count {
    font-size: 18px !important;
    font-weight: 400 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    letter-spacing: 0 !important;
    color: inherit !important;
    flex-shrink: 0 !important;
    min-width: 24px !important;
    text-align: center !important;
    margin: 0 4px 0 2px !important;
  }

  /* Actions container — takes remaining space, icons centered with neat uniform gaps */
  .gmail-mobile-selection-bar .mobile-sel-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 1 auto !important;
    gap: clamp(2px, 1.2vw, 6px) !important;
    position: relative !important;
    min-width: 0 !important;
    flex-wrap: nowrap !important;
  }

  .gmail-mobile-selection-bar .mobile-sel-btn {
    background: transparent !important;
    border: none !important;
    color: #5f6368 !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: background 0.15s ease !important;
    flex-shrink: 0 !important;
  }

  html.dark-mode .gmail-mobile-selection-bar .mobile-sel-btn,
  body.dark-mode .gmail-mobile-selection-bar .mobile-sel-btn {
    color: #bdc1c6 !important;
  }

  .gmail-mobile-selection-bar .mobile-sel-btn:hover {
    background: rgba(0, 0, 0, 0.06) !important;
  }

  html.dark-mode .gmail-mobile-selection-bar .mobile-sel-btn:hover,
  body.dark-mode .gmail-mobile-selection-bar .mobile-sel-btn:hover {
    background: rgba(255, 255, 255, 0.08) !important;
  }

  .gmail-mobile-selection-bar .mobile-sel-btn:active {
    background: rgba(0, 0, 0, 0.12) !important;
    transform: none !important;
  }

  html.dark-mode .gmail-mobile-selection-bar .mobile-sel-btn:active,
  body.dark-mode .gmail-mobile-selection-bar .mobile-sel-btn:active {
    background: rgba(255, 255, 255, 0.14) !important;
  }

  /* Back arrow button (slightly larger touch target) */
  .gmail-mobile-selection-bar .mobile-sel-back {
    color: #444746 !important;
  }

  html.dark-mode .gmail-mobile-selection-bar .mobile-sel-back,
  body.dark-mode .gmail-mobile-selection-bar .mobile-sel-back {
    color: #e8eaed !important;
  }

  /* More options dropdown menu */
  .gmail-sel-more-menu {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    margin-top: 4px !important;
    background: #ffffff !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18), 0 0 1px rgba(0, 0, 0, 0.12) !important;
    z-index: 2000 !important;
    min-width: 200px !important;
    overflow: hidden !important;
    padding: 4px 0 !important;
  }

  html.dark-mode .gmail-sel-more-menu,
  body.dark-mode .gmail-sel-more-menu {
    background: #2d2d2d !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
  }

  .gmail-sel-more-menu .more-menu-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 10px 16px !important;
    border: none !important;
    background: transparent !important;
    color: #3c4043 !important;
    font-size: 14px !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    font-weight: 400 !important;
    cursor: pointer !important;
    text-align: left !important;
    white-space: nowrap !important;
    transition: background 0.12s ease !important;
  }

  html.dark-mode .gmail-sel-more-menu .more-menu-item,
  body.dark-mode .gmail-sel-more-menu .more-menu-item {
    color: #e8eaed !important;
  }

  .gmail-sel-more-menu .more-menu-item:hover {
    background: #f1f3f4 !important;
  }

  html.dark-mode .gmail-sel-more-menu .more-menu-item:hover,
  body.dark-mode .gmail-sel-more-menu .more-menu-item:hover {
    background: #3c3c3c !important;
  }

  .gmail-sel-more-menu .more-menu-item:active {
    background: #e8eaed !important;
  }

  .gmail-sel-more-menu .more-menu-item svg {
    flex-shrink: 0 !important;
    color: #5f6368 !important;
  }

  html.dark-mode .gmail-sel-more-menu .more-menu-item svg,
  body.dark-mode .gmail-sel-more-menu .more-menu-item svg {
    color: #9aa0a6 !important;
  }

  /* Hide default search bar when selection bar is active */
  #layout-list.mobile-selection-mode #gmail-mobile-search-bar {
    display: none !important;
  }

  /* Mobile selection row highlighting */
  #layout-list.mobile-selection-mode table.messagelist tbody tr.mobile-selected {
    background: rgba(194, 231, 255, 0.15) !important;
  }
  html:not(.dark-mode) #layout-list.mobile-selection-mode table.messagelist tbody tr.mobile-selected,
  body:not(.dark-mode) #layout-list.mobile-selection-mode table.messagelist tbody tr.mobile-selected {
    background: #c2e7ff !important;
  }

  /* 12b. MOBILE FOLDER PICKER BOTTOM SHEET */
  .gmail-mobile-sheet-backdrop {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: rgba(0, 0, 0, 0.5) !important;
    z-index: 10000 !important;
    opacity: 0 !important;
    transition: opacity 0.2s ease !important;
    pointer-events: none !important;
  }
  .gmail-mobile-sheet-backdrop.active {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .gmail-mobile-folder-sheet {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    max-height: 70vh !important;
    max-height: 70dvh !important;
    background: #ffffff !important;
    border-radius: 16px 16px 0 0 !important;
    z-index: 10001 !important;
    transform: translateY(105%) !important;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.25s !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.25) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }
  html.dark-mode .gmail-mobile-folder-sheet,
  body.dark-mode .gmail-mobile-folder-sheet {
    background: #1e1e1e !important;
    color: #e8eaed !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.6) !important;
  }
  .gmail-mobile-folder-sheet.open {
    transform: translateY(0) !important;
    visibility: visible !important;
  }
  .mobile-folder-sheet-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px 12px 20px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    flex-shrink: 0 !important;
  }
  html.dark-mode .mobile-folder-sheet-header,
  body.dark-mode .mobile-folder-sheet-header {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  }
  .mobile-folder-sheet-close {
    background: none !important;
    border: none !important;
    font-size: 24px !important;
    line-height: 1 !important;
    color: inherit !important;
    cursor: pointer !important;
    padding: 4px 8px !important;
  }
  .mobile-folder-sheet-list {
    overflow-y: auto !important;
    padding: 8px 0 20px 0 !important;
    flex: 1 1 auto !important;
  }
  .mobile-folder-sheet-item {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 12px 20px !important;
    background: transparent !important;
    border: none !important;
    color: inherit !important;
    font-size: 14.5px !important;
    font-weight: 500 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: background 0.12s ease !important;
  }
  .mobile-folder-sheet-item svg {
    flex-shrink: 0 !important;
    width: 20px !important;
    height: 20px !important;
    color: #5f6368 !important;
  }
  html.dark-mode .mobile-folder-sheet-item svg,
  body.dark-mode .mobile-folder-sheet-item svg {
    color: #9aa0a6 !important;
  }
  .mobile-folder-sheet-item:hover,
  .mobile-folder-sheet-item:active {
    background: rgba(0, 0, 0, 0.05) !important;
  }
  html.dark-mode .mobile-folder-sheet-item:hover,
  html.dark-mode .mobile-folder-sheet-item:active,
  body.dark-mode .mobile-folder-sheet-item:hover,
  body.dark-mode .mobile-folder-sheet-item:active {
    background: rgba(255, 255, 255, 0.08) !important;
  }

  /* 13. ATTACHMENT CHIPS ON MOBILE */
  .gmail-mobile-att-chip,
  .gmail-mobile-row-wrap .gmail-attachment-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 10px !important;
    margin-top: 6px !important;
    margin-right: 6px !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #e2e8f0 !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    max-width: 90% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.2 !important;
    transition: background 0.15s ease !important;
  }

  html:not(.dark-mode) .gmail-mobile-att-chip,
  html:not(.dark-mode) .gmail-mobile-row-wrap .gmail-attachment-chip {
    background: #f1f3f4 !important;
    border-color: #dadce0 !important;
    color: #3c4043 !important;
  }

  .gmail-mobile-att-chip:active,
  .gmail-mobile-row-wrap .gmail-attachment-chip:active {
    background: rgba(2, 132, 199, 0.2) !important;
  }

  /* 14. THEMES & DRAWER ENHANCEMENTS */
  #rbs-drawer-theme-container {
    display: flex !important;
  }

  .rbs-drawer-theme-btn {
    background: rgba(2, 132, 199, 0.08) !important;
    color: #0284c7 !important;
    border-color: rgba(2, 132, 199, 0.2) !important;
  }

  html.dark-mode .rbs-drawer-theme-btn {
    background: rgba(0, 229, 255, 0.1) !important;
    color: #00e5ff !important;
    border-color: rgba(0, 229, 255, 0.22) !important;
  }

  /* 15. ATTACHMENT LIGHTBOX PREVIEW ON MOBILE */
  #gmail-attach-preview-overlay .gap-header {
    padding: 0 10px !important;
    height: 50px !important;
  }
  #gmail-attach-preview-overlay .gap-file-name {
    max-width: 140px !important;
    font-size: 13px !important;
  }
  #gmail-attach-preview-overlay .gap-btn span {
    display: none !important;
  }
  #gmail-attach-preview-overlay .gap-btn {
    padding: 6px 10px !important;
  }
  #gmail-attach-preview-overlay .gap-body {
    padding: 8px !important;
  }
  #gmail-attach-preview-overlay iframe {
    width: 96vw !important;
    height: calc(100vh - 65px) !important;
    height: calc(100dvh - 65px) !important;
  }
  #gmail-attach-preview-overlay img {
    max-width: 96vw !important;
    max-height: calc(100vh - 65px) !important;
    max-height: calc(100dvh - 65px) !important;
  }
  /* ================================================================
     COMPREHENSIVE MOBILE UI FIX BLOCK
     Fixes for all 16+ identified mobile issues
     ================================================================ */

  /* FIX 1: Bottom nav bar visible behind sidebar drawer */
  body.task-mail.mobile-drawer-open #gmail-mobile-bottom-nav,
  body.mobile-drawer-open #gmail-mobile-bottom-nav {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* FIX 2: Search bar z-index poking through behind drawer overlay */
  body.mobile-drawer-open #gmail-mobile-search-bar {
    z-index: 1 !important;
  }
  body.mobile-drawer-open #gmail-mobile-fab {
    display: none !important;
  }

  /* FIX 3: Drawer storage quota bar clipping fix */
  #layout-sidebar .quota-widget,
  #layout-sidebar #quotadisplay {
    padding: 8px 16px !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
    min-height: 40px !important;
  }
  #layout-sidebar .mailboxlist-container,
  #layout-sidebar .scroller {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    min-height: 0 !important;
  }

  /* FIX 4: Contacts & Contact Groups Modern Top Bars (Mobile) */
  body.task-addressbook #layout-list > .header {
    display: none !important;
  }
  body.task-addressbook #layout-list .searchbar.menu {
    display: none !important;
  }

  /* Top Bar for Contacts List */
  #contacts-mobile-topbar {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    padding: 8px 12px 6px 12px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06) !important;
    flex-shrink: 0 !important;
  }
  html.dark-mode #contacts-mobile-topbar,
  body.dark-mode #contacts-mobile-topbar {
    background: #1e1e1e !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  }

  /* Search pill */
  .contacts-search-pill {
    display: flex !important;
    align-items: center !important;
    height: 48px !important;
    background: #f0f4f9 !important;
    border-radius: 24px !important;
    padding: 0 8px 0 12px !important;
    gap: 8px !important;
    border: 1px solid rgba(0, 0, 0, 0.04) !important;
  }
  html.dark-mode .contacts-search-pill,
  body.dark-mode .contacts-search-pill {
    background: #2d2f31 !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
  }

  .contacts-pill-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: none !important;
    color: #444746 !important;
    cursor: pointer !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }
  html.dark-mode .contacts-pill-btn,
  body.dark-mode .contacts-pill-btn {
    color: #c4c7c5 !important;
  }

  .contacts-pill-input-wrap {
    display: flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
  }
  .contacts-pill-input {
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    outline: none !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    font-size: 15px !important;
    color: #1f1f1f !important;
  }
  html.dark-mode .contacts-pill-input,
  body.dark-mode .contacts-pill-input {
    color: #e8eaed !important;
  }
  .contacts-pill-input::placeholder {
    color: #747775 !important;
  }

  .contacts-avatar-btn {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #0b57d0 !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border: none !important;
    flex-shrink: 0 !important;
  }

  /* Sub-row: Group chip & Count/Select */
  .contacts-sub-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 8px 4px 2px 4px !important;
  }
  .contacts-group-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: 32px !important;
    padding: 0 12px !important;
    border-radius: 16px !important;
    background: rgba(26, 115, 232, 0.08) !important;
    color: #1a73e8 !important;
    font-family: 'Google Sans', Roboto, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    border: 1px solid rgba(26, 115, 232, 0.25) !important;
    cursor: pointer !important;
    text-decoration: none !important;
  }
  html.dark-mode .contacts-group-chip,
  body.dark-mode .contacts-group-chip {
    background: rgba(138, 180, 248, 0.12) !important;
    color: #8ab4f8 !important;
    border-color: rgba(138, 180, 248, 0.3) !important;
  }

  .contacts-sub-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .contacts-count-label {
    font-family: 'Google Sans', Roboto, sans-serif !important;
    font-size: 12.5px !important;
    color: #747775 !important;
  }
  html.dark-mode .contacts-count-label,
  body.dark-mode .contacts-count-label {
    color: #9aa0a6 !important;
  }
  .contacts-select-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 4px 10px !important;
    border-radius: 14px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #444746 !important;
    background: rgba(0, 0, 0, 0.05) !important;
    border: none !important;
    cursor: pointer !important;
  }
  html.dark-mode .contacts-select-btn,
  body.dark-mode .contacts-select-btn {
    color: #e8eaed !important;
    background: rgba(255, 255, 255, 0.1) !important;
  }

  /* Contacts Mobile Selection Bar */
  #contacts-selection-bar {
    display: none;
    align-items: center;
    justify-content: space-between;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 12px !important;
    background: #0b57d0 !important;
    color: #ffffff !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 120 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
    flex-shrink: 0 !important;
  }
  html.dark-mode #contacts-selection-bar,
  body.dark-mode #contacts-selection-bar {
    background: #1e1e1e !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
  }
  .contacts-selection-left {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }
  .contacts-selection-count {
    font-family: 'Google Sans', Roboto, sans-serif !important;
    font-size: 17px !important;
    font-weight: 500 !important;
    color: #ffffff !important;
  }
  .contacts-selection-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: transparent !important;
    border: none !important;
    color: #ffffff !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: background 0.15s ease !important;
  }
  .contacts-selection-btn:active {
    background: rgba(255, 255, 255, 0.15) !important;
  }
  html.dark-mode .contacts-selection-btn {
    color: #e8eaed !important;
  }
  .contacts-selection-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
  }
  body.contacts-selecting #contacts-mobile-topbar {
    display: none !important;
  }
  body.contacts-selecting #contacts-selection-bar {
    display: flex !important;
  }
  body.task-addressbook #contacts-table tbody tr {
    transition: background 0.15s ease !important;
    -webkit-user-select: none !important;
    user-select: none !important;
  }
  body.task-addressbook #contacts-table tbody tr.selected {
    background: #e8f0fe !important;
  }
  html.dark-mode body.task-addressbook #contacts-table tbody tr.selected {
    background: rgba(138, 180, 248, 0.16) !important;
  }
  body.task-addressbook #contacts-table tbody tr.selected td.name {
    color: #0b57d0 !important;
    font-weight: 600 !important;
  }
  html.dark-mode body.task-addressbook #contacts-table tbody tr.selected td.name {
    color: #8ab4f8 !important;
  }

  /* Top Bar for Contact Groups (#layout-sidebar) */
  body.task-addressbook #layout-sidebar > .header {
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 8px 0 14px !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    gap: 8px !important;
    flex-shrink: 0 !important;
  }
  html.dark-mode body.task-addressbook #layout-sidebar > .header,
  body.dark-mode.task-addressbook #layout-sidebar > .header {
    background: #1e1e1e !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
  }

  body.task-addressbook #layout-sidebar > .header a.back-list-button {
    display: inline-flex !important;
    visibility: visible !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #1a73e8 !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
  }
  html.dark-mode body.task-addressbook #layout-sidebar > .header a.back-list-button,
  body.dark-mode.task-addressbook #layout-sidebar > .header a.back-list-button {
    color: #8ab4f8 !important;
  }
  body.task-addressbook #layout-sidebar > .header a.back-list-button:before,
  body.task-addressbook #layout-sidebar > .header a.back-list-button .inner {
    display: none !important;
  }

  body.task-addressbook #layout-sidebar > .header .header-title {
    font-family: 'Google Sans', Roboto, sans-serif !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: #1f1f1f !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  html.dark-mode body.task-addressbook #layout-sidebar > .header .header-title,
  body.dark-mode.task-addressbook #layout-sidebar > .header .header-title {
    color: #e8eaed !important;
  }

  body.task-addressbook #layout-sidebar > .header a.sidebar-menu,
  body.task-addressbook #layout-sidebar > .header a.button.sidebar-menu,
  html body #layout #layout-sidebar > .header a.sidebar-menu,
  html body #layout #layout-sidebar > .header a.button.sidebar-menu {
    display: none !important;
  }

  .groups-header-actions {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-shrink: 0 !important;
  }
  .groups-action-icon-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #444746 !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
  }
  html.dark-mode .groups-action-icon-btn,
  body.dark-mode .groups-action-icon-btn {
    color: #c4c7c5 !important;
  }

  /* Search options dropdown positioning in contacts */
  body.task-addressbook #searchmenu {
    position: absolute !important;
    top: 60px !important;
    right: 12px !important;
    z-index: 1000 !important;
    background: #ffffff !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    padding: 12px 16px !important;
    min-width: 200px !important;
  }
  html.dark-mode body.task-addressbook #searchmenu,
  body.dark-mode.task-addressbook #searchmenu {
    background: #282a2d !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5) !important;
  }

  /* Contacts page — full mobile panels for sidebar (address books), list, and content */
  body.task-addressbook #layout-sidebar {
    width: 100vw !important;
    max-width: 100vw !important;
    flex: 1 1 auto !important;
    position: relative !important;
    transform: none !important;
    height: 100% !important;
    background: var(--gmail-surface, #1a1d21) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow-y: auto !important;
    z-index: 10 !important;
  }
  html:not(.dark-mode) body.task-addressbook #layout-sidebar {
    background: #ffffff !important;
  }
  body.task-addressbook #layout-sidebar.hidden {
    display: none !important;
  }
  body.task-addressbook #layout-sidebar .scroller {
    flex: 1 1 auto !important;
    overflow-y: auto !important;
    padding: 8px 0 !important;
  }
  body.task-addressbook #layout-sidebar #directorylist li a {
    display: flex !important;
    align-items: center !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    border-radius: 0 24px 24px 0 !important;
    margin-right: 12px !important;
    color: inherit !important;
    text-decoration: none !important;
  }
  body.task-addressbook #layout-sidebar #directorylist li.selected a {
    background: rgba(138, 180, 248, 0.15) !important;
    color: #8ab4f8 !important;
    font-weight: 600 !important;
  }
  html:not(.dark-mode) body.task-addressbook #layout-sidebar #directorylist li.selected a {
    background: #e8f0fe !important;
    color: #1a73e8 !important;
  }

  /* FIX 5: Contacts checkboxes → circular avatars on mobile */
  body.task-addressbook #contacts-table td.selection {
    display: none !important;
  }
  body.task-addressbook #contacts-table td.name {
    padding-left: 12px !important;
  }

  /* FIX 6: Hide native scrollbar tracks on mobile */
  body,
  #layout,
  #layout-list,
  #layout-content,
  .scroller,
  #messagelist-container,
  #mailboxlist-container {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }
  body::-webkit-scrollbar,
  #layout::-webkit-scrollbar,
  #layout-list::-webkit-scrollbar,
  #layout-content::-webkit-scrollbar,
  .scroller::-webkit-scrollbar,
  #messagelist-container::-webkit-scrollbar,
  #mailboxlist-container::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  /* FIX 7: Compose — Hide mobile duplicate topbar buttons; all actions are in Bottom Action Bar */
  .compose-topbar-actions {
    display: none !important;
  }

  /* FIX 7: Compose — Bottom Action Bar docked at screen bottom on Mobile */
  body.action-compose .formbuttons,
  body.action-compose #compose-content > .formbuttons,
  body.action-compose #layout-content .formbuttons,
  html.layout-phone body.action-compose .formbuttons,
  html.layout-small body.action-compose .formbuttons,
  body.task-mail.action-compose .formbuttons {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 6px 12px !important;
    gap: 6px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    background: var(--gmail-surface, #1e252b) !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    min-height: 52px !important;
    height: 52px !important;
    max-height: 52px !important;
    z-index: 99999 !important;
    box-sizing: border-box !important;
  }
  html:not(.dark-mode) body.action-compose .formbuttons,
  html:not(.dark-mode) body.action-compose #compose-content > .formbuttons,
  html:not(.dark-mode) body.action-compose #layout-content .formbuttons,
  html:not(.dark-mode) body.task-mail.action-compose .formbuttons {
    border-top: 1px solid #e8eaed !important;
    background: #ffffff !important;
  }
  .formbuttons-left {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .formbuttons-left::-webkit-scrollbar {
    display: none !important;
  }
  .formbuttons-right {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
    padding-left: 6px !important;
  }
  .gmail-send-group {
    display: inline-flex !important;
    align-items: center !important;
    background: #1a73e8 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) !important;
  }
  .gmail-send-group .gmail-send-main-btn,
  .formbuttons .btn-primary.send {
    height: 36px !important;
    line-height: 36px !important;
    padding: 0 14px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    outline: none !important;
    cursor: pointer !important;
  }
  .gmail-send-dropdown-btn {
    height: 36px !important;
    padding: 0 8px !important;
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    border-left: 1px solid rgba(255, 255, 255, 0.25) !important;
    outline: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .compose-actions-group {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
  }
  .compose-icon-btn,
  .formbuttons .compose-icon-btn {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 50% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    color: var(--g-text-dim, #5f6368) !important;
    cursor: pointer !important;
    transition: background 0.15s ease, color 0.15s ease !important;
  }
  html.dark-mode .compose-icon-btn,
  html.dark-mode .formbuttons .compose-icon-btn {
    color: #9aa0a6 !important;
  }
  .compose-icon-btn:hover,
  .compose-icon-btn:active,
  .formbuttons .compose-icon-btn:hover,
  .formbuttons .compose-icon-btn:active {
    background: var(--g-hover, rgba(0, 0, 0, 0.08)) !important;
    color: var(--g-text, #202124) !important;
  }
  html.dark-mode .compose-icon-btn:hover,
  html.dark-mode .compose-icon-btn:active,
  html.dark-mode .formbuttons .compose-icon-btn:hover,
  html.dark-mode .formbuttons .compose-icon-btn:active {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #e8eaed !important;
  }
  .compose-icon-btn.trash-btn:hover,
  .compose-icon-btn.trash-btn:active {
    color: #d93025 !important;
    background: rgba(217, 48, 37, 0.1) !important;
  }

  /* Top Formatting Toolbar (TinyMCE: Font, Size, Table, Formatting, etc.) */
  div.tox .tox-editor-header,
  .tox .tox-editor-header,
  .mce-toolbar-grp,
  .mce-top-part,
  #composebody_toolbox {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    max-width: 100vw !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    background: var(--gmail-surface, #1a1d21) !important;
    padding: 2px 4px !important;
    flex-shrink: 0 !important;
  }
  html:not(.dark-mode) div.tox .tox-editor-header,
  html:not(.dark-mode) .tox .tox-editor-header,
  html:not(.dark-mode) .mce-toolbar-grp,
  html:not(.dark-mode) .mce-top-part,
  html:not(.dark-mode) #composebody_toolbox {
    background: #ffffff !important;
    border-bottom: 1px solid #e8eaed !important;
  }
  div.tox .tox-editor-header::-webkit-scrollbar,
  .tox-toolbar::-webkit-scrollbar,
  .tox-toolbar__primary::-webkit-scrollbar,
  .tox-toolbar-overlord::-webkit-scrollbar {
    display: none !important;
  }
  .tox .tox-toolbar-overlord,
  .tox .tox-toolbar,
  .tox .tox-toolbar__primary {
    display: flex !important;
    flex-wrap: nowrap !important;
    width: max-content !important;
    min-width: 100% !important;
    gap: 2px !important;
  }
  .tox .tox-toolbar__group {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-shrink: 0 !important;
    align-items: center !important;
    padding: 0 4px !important;
  }
  .tox .tox-tbtn {
    flex-shrink: 0 !important;
    height: 30px !important;
    margin: 1px 2px !important;
  }
  .tox .tox-tbtn--select {
    flex-shrink: 0 !important;
  }
  /* Allow Aa button to toggle formatting toolbar if desired */
  body.gmail-format-off div.tox .tox-editor-header,
  body.gmail-format-off .tox .tox-editor-header {
    display: none !important;
  }
  /* Hide only the status bar (resize handle) — not useful on mobile */
  .mce-statusbar,
  .tox-statusbar,
  #composebody_ifr + .mce-statusbar {
    display: none !important;
  }

  /* FIX 8: Compose — modern input fields instead of desktop style */
  .compose-header-row {
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    padding: 8px 12px !important;
    margin: 0 !important;
  }
  html:not(.dark-mode) .compose-header-row {
    border-bottom: 1px solid #f1f3f4 !important;
  }
  .compose-header-row .header-label {
    font-size: 13px !important;
    color: #9aa0a6 !important;
    min-width: 40px !important;
    padding-right: 4px !important;
  }
  .compose-header-row .header-input-wrap {
    flex: 1 !important;
  }
  .compose-header-row input,
  .compose-header-row textarea,
  .compose-header-row .input-group {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 14px !important;
    padding: 4px 0 !important;
  }
  /* Make compose body fill mobile viewport */
  #composebodycontainer {
    flex: 1 !important;
    min-height: 40vh !important;
  }
  #composebody,
  #composebody_ifr {
    min-height: 35vh !important;
    border: none !important;
  }

  /* FIX 9: Message view — white blank strip in dark mode */
  html.dark-mode #layout-content .scroller,
  html.dark-mode #layout-content .content,
  html.dark-mode #layout-content .formcontent,
  html.dark-mode #layout-content #message-objects,
  html.dark-mode #layout-content .message-part,
  html.dark-mode #layout-content .message-partheaders {
    background: #111318 !important;
    color: #e8eaed !important;
  }
  html.dark-mode #messagecontframe,
  html.dark-mode .iframe-wrapper {
    background: #111318 !important;
  }

  /* FIX 10: Message view — cramped top action bar */
  #layout-content > .header {
    padding: 4px 2px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    overflow-x: auto !important;
  }
  #layout-content > .header .toolbar {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }
  body.task-mail #layout-content > .header a.button,
  body.task-mail #layout-content > .header .toolbar a {
    min-width: 36px !important;
    min-height: 36px !important;
    padding: 6px !important;
    margin: 0 1px !important;
    flex-shrink: 0 !important;
  }
  body.task-mail #layout-content > .header a.button .inner,
  body.task-mail #layout-content > .header .toolbar a .inner {
    font-size: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
  }

  body.task-settings #layout-content > .header a.back-list-button,
  body.task-addressbook #layout-content > .header a.back-list-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    min-height: 36px !important;
    padding: 6px 12px !important;
    font-size: 14px !important;
    color: inherit !important;
    text-decoration: none !important;
  }
  body.task-settings #layout-content > .header a.back-list-button .inner,
  body.task-addressbook #layout-content > .header a.back-list-button .inner {
    font-size: 13px !important;
    width: auto !important;
    overflow: visible !important;
    display: inline-block !important;
  }

  /* FIX 11: Message view — sender info right-edge icon clipping */
  .message-header,
  #message-header,
  .message-partheaders {
    overflow: visible !important;
    padding-right: 8px !important;
  }
  .message-header .header-links,
  .message-header .header-actions,
  #message-header .header-links {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }

  /* FIX 12: Message view — Previous/Next footer modernization */
  .pagenav.footer,
  #layout-content .footer,
  #layout-content > .footer {
    display: none !important;
  }

  /* FIX 13: Stray cyan line above bottom nav */
  #layout-list {
    border-bottom: none !important;
  }
  #layout > .content,
  #layout #layout-list {
    border: none !important;
    outline: none !important;
  }
  #gmail-mobile-bottom-nav {
    border-top: 1px solid rgba(255,255,255,0.06) !important;
    box-shadow: 0 -1px 3px rgba(0,0,0,0.1) !important;
  }
  html:not(.dark-mode) #gmail-mobile-bottom-nav {
    border-top: 1px solid #f1f3f4 !important;
  }

  /* FIX 14: Snippet/star collision — ensure snippet doesn't overflow into star */
  .gmail-mobile-snippet {
    max-width: calc(100% - 32px) !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    padding-right: 4px !important;
  }
  .gmail-mobile-row-wrap {
    overflow: hidden !important;
  }
  .gmail-mobile-star-btn {
    flex-shrink: 0 !important;
    position: relative !important;
    z-index: 5 !important;
    padding: 8px !important;
    margin: -8px -4px -8px 0 !important;
    -webkit-tap-highlight-color: transparent !important;
    touch-action: manipulation !important;
  }
  /* Increase star touch target */
  .gmail-mobile-star-btn svg {
    min-width: 20px !important;
    min-height: 20px !important;
  }

  /* FIX 15: Mobile message view header overlap fix */
  body.task-mail #layout.has-message-open #layout-list {
    display: none !important;
  }
  body.task-mail #layout.has-message-open #layout-content {
    display: flex !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 200 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
  }

  /* FIX 16: Hide desktop header toolbar on mobile */
  #layout-list > .header > .toolbar,
  #layout-list > .header > .header-title,
  body.task-mail #layout-list > .header:not(#gmail-mobile-search-bar) {
    display: none !important;
  }
  /* But keep the search bar visible */
  body.task-mail #gmail-mobile-search-bar {
    display: flex !important;
  }

  /* EXTRA: Attachment chip clickability on mobile (larger touch targets) */
  .gmail-mobile-att-chip,
  .gmail-mobile-row-wrap .gmail-attachment-chip {
    touch-action: manipulation !important;
    -webkit-tap-highlight-color: transparent !important;
    min-height: 32px !important;
    position: relative !important;
    z-index: 5 !important;
  }
}

/* THEME PICKER MODAL MOBILE OVERRIDES */
@media screen and (max-width: 600px) {
  #rbs-theme-modal > div {
    width: 94% !important;
    max-width: 94% !important;
    max-height: 88vh !important;
  }
  #rbs-theme-modal div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    padding: 14px !important;
    gap: 10px !important;
  }
}

/* ==========================================================================
   ADAPTIVE MOBILE SCALING — fits any phone display size (320px → 430px+)
   Uses clamp() for fluid scaling and breakpoints for fine-tuning.
   ========================================================================== */

@media screen and (max-width: 768px) {
  /* ── Root scaling variables based on viewport width ── */
  :root {
    /* Base scale: 1vw ≈ 3.6px on 360px, ≈ 4.3px on 430px */
    --m-pad-xs: clamp(4px, 1.1vw, 6px);
    --m-pad-sm: clamp(6px, 1.6vw, 10px);
    --m-pad-md: clamp(10px, 2.8vw, 16px);
    --m-pad-lg: clamp(14px, 3.8vw, 20px);
    --m-font-xs: clamp(10px, 2.8vw, 12px);
    --m-font-sm: clamp(12px, 3.3vw, 14px);
    --m-font-md: clamp(14px, 3.8vw, 16px);
    --m-font-lg: clamp(16px, 4.4vw, 18px);
    --m-icon: clamp(20px, 5.5vw, 24px);
    --m-avatar: clamp(34px, 10vw, 44px);
    --m-touch: clamp(36px, 10vw, 48px);
    --m-touch-sm: clamp(30px, 8.3vw, 38px);
    --m-bar-h: clamp(44px, 12.5vw, 56px);
    --m-gap: clamp(8px, 2.2vw, 14px);
  }

  /* ── Search Bar — fluid height, padding, font ── */
  #gmail-mobile-search-bar {
    height: var(--m-bar-h) !important;
    min-height: var(--m-bar-h) !important;
    margin: var(--m-pad-xs) var(--m-pad-md) var(--m-pad-xs) var(--m-pad-md) !important;
    padding: 0 var(--m-pad-sm) 0 var(--m-pad-md) !important;
    gap: var(--m-pad-sm) !important;
    width: calc(100% - 2 * var(--m-pad-md)) !important;
    border-radius: calc(var(--m-bar-h) / 2) !important;
  }
  #gmail-mobile-search-bar .gmail-mobile-drawer-toggle,
  #gmail-mobile-search-bar .gmail-mobile-filter-btn {
    width: var(--m-touch-sm) !important;
    height: var(--m-touch-sm) !important;
  }
  #gmail-mobile-search-bar .gmail-mobile-search-input {
    font-size: var(--m-font-md) !important;
  }
  #gmail-mobile-search-bar .gmail-mobile-avatar-btn {
    width: clamp(28px, 7.8vw, 34px) !important;
    height: clamp(28px, 7.8vw, 34px) !important;
    font-size: var(--m-font-sm) !important;
  }

  /* ── Message Row — fluid padding, avatar, fonts ── */
  .gmail-mobile-row-wrap {
    padding: var(--m-pad-sm) var(--m-pad-md) !important;
    gap: var(--m-gap) !important;
  }
  .gmail-mobile-avatar {
    width: var(--m-avatar) !important;
    height: var(--m-avatar) !important;
    min-width: var(--m-avatar) !important;
    max-width: var(--m-avatar) !important;
    font-size: clamp(14px, 4vw, 18px) !important;
  }
  .gmail-mobile-sender {
    font-size: clamp(14px, 3.8vw, 16px) !important;
  }
  .gmail-mobile-date {
    font-size: var(--m-font-xs) !important;
  }
  .gmail-mobile-line2 {
    font-size: var(--m-font-sm) !important;
  }
  .gmail-mobile-snippet {
    font-size: clamp(12px, 3.3vw, 14px) !important;
  }
  .gmail-mobile-star-btn svg {
    width: var(--m-icon) !important;
    height: var(--m-icon) !important;
  }
  .gmail-mobile-att-chip {
    padding: var(--m-pad-xs) var(--m-pad-sm) !important;
    font-size: var(--m-font-xs) !important;
    border-radius: clamp(6px, 1.6vw, 10px) !important;
  }
  .gmail-mobile-unread-dot {
    width: clamp(5px, 1.6vw, 8px) !important;
    height: clamp(5px, 1.6vw, 8px) !important;
  }

  /* ── Bottom Navigation — fluid height, icons, labels ── */
  #gmail-mobile-bottom-nav {
    height: var(--m-bar-h) !important;
    min-height: var(--m-bar-h) !important;
  }
  #gmail-mobile-bottom-nav .mobile-nav-icon-wrap {
    width: var(--m-touch) !important;
    height: clamp(24px, 6.6vw, 30px) !important;
    border-radius: clamp(12px, 3.3vw, 15px) !important;
  }
  #gmail-mobile-bottom-nav .mobile-nav-icon-wrap svg {
    width: var(--m-icon) !important;
    height: var(--m-icon) !important;
  }
  #gmail-mobile-bottom-nav .mobile-nav-label {
    font-size: var(--m-font-xs) !important;
  }
  #gmail-mobile-bottom-nav .mobile-nav-badge {
    font-size: clamp(8px, 2.2vw, 10px) !important;
    padding: 1px clamp(3px, 1vw, 5px) !important;
  }

  /* ── FAB (Compose Button) — fluid sizing ── */
  #layout-list .floating-action-buttons a,
  .floating-action-buttons a {
    height: var(--m-bar-h) !important;
    padding: 0 var(--m-pad-lg) 0 var(--m-pad-md) !important;
    font-size: var(--m-font-sm) !important;
    border-radius: clamp(12px, 3.3vw, 18px) !important;
    gap: var(--m-pad-sm) !important;
    bottom: calc(var(--m-bar-h) + 16px) !important;
  }
  #layout-list .floating-action-buttons,
  .floating-action-buttons {
    bottom: calc(var(--m-bar-h) + 16px) !important;
    right: var(--m-pad-md) !important;
  }

  /* ── Sidebar Drawer — fluid width ── */
  body.task-mail #layout-sidebar,
  body.task-mail #layout > #layout-sidebar {
    width: clamp(260px, 72vw, 320px) !important;
    max-width: 82vw !important;
  }

  /* ── Compose (Top bar, headers, bottom bar) — fluid ── */
  .compose-topbar {
    padding: var(--m-pad-sm) var(--m-pad-md) !important;
    gap: var(--m-pad-sm) !important;
    min-height: var(--m-bar-h) !important;
  }
  .compose-back-btn {
    width: var(--m-touch-sm) !important;
    height: var(--m-touch-sm) !important;
  }
  .compose-topbar-title {
    font-size: var(--m-font-md) !important;
  }
  body.action-compose .formbuttons,
  #compose-content > .formbuttons,
  #layout-content .formbuttons {
    height: var(--m-bar-h) !important;
    min-height: var(--m-bar-h) !important;
    max-height: var(--m-bar-h) !important;
    padding: var(--m-pad-xs) var(--m-pad-sm) !important;
  }
  body.action-compose #compose-content {
    padding-bottom: calc(var(--m-bar-h) + 8px) !important;
  }
  #compose-body-scroll-container {
    padding-bottom: calc(var(--m-bar-h) + 8px) !important;
  }
  .compose-icon-btn,
  .formbuttons .compose-icon-btn {
    width: var(--m-touch-sm) !important;
    height: var(--m-touch-sm) !important;
    min-width: var(--m-touch-sm) !important;
  }
  .compose-icon-btn svg,
  .formbuttons .compose-icon-btn svg {
    width: clamp(16px, 4.5vw, 22px) !important;
    height: clamp(16px, 4.5vw, 22px) !important;
  }
  .gmail-send-group .gmail-send-main-btn,
  .formbuttons .btn-primary.send {
    height: var(--m-touch-sm) !important;
    line-height: var(--m-touch-sm) !important;
    padding: 0 var(--m-pad-sm) !important;
    font-size: var(--m-font-sm) !important;
  }
  .gmail-send-dropdown-btn {
    height: var(--m-touch-sm) !important;
    padding: 0 var(--m-pad-xs) !important;
  }
  .compose-header-row {
    padding: var(--m-pad-sm) var(--m-pad-md) !important;
    min-height: var(--m-touch-sm) !important;
  }
  .compose-header-row .header-label {
    font-size: var(--m-font-sm) !important;
    width: clamp(34px, 9.5vw, 48px) !important;
    flex: 0 0 clamp(34px, 9.5vw, 48px) !important;
  }
  .compose-header-row input,
  .compose-header-row textarea,
  .compose-header-row .input-group,
  .recipient-input input,
  #compose-subject {
    font-size: var(--m-font-md) !important;
  }

  /* ── Settings / Contacts headers — fluid ── */
  body.task-addressbook #layout-list > .header,
  body.task-addressbook #layout-sidebar > .header,
  body.task-addressbook #layout-content > .header,
  body.task-settings #layout-list > .header,
  body.task-settings #layout-sidebar > .header,
  body.task-settings #layout-content > .header {
    height: var(--m-bar-h) !important;
    min-height: var(--m-bar-h) !important;
    line-height: var(--m-bar-h) !important;
    padding: 0 var(--m-pad-sm) !important;
  }
  body.task-addressbook a.back-sidebar-button,
  body.task-addressbook #layout-sidebar > .header a.back-list-button,
  body.task-settings #layout-list > .header a.back-sidebar-button,
  body.task-settings #layout-content > .header a.back-list-button {
    padding: var(--m-pad-xs) var(--m-pad-sm) !important;
    height: var(--m-touch-sm) !important;
    border-radius: calc(var(--m-touch-sm) / 2) !important;
    font-size: var(--m-font-sm) !important;
  }

  /* ── Message view header — fluid touch targets ── */
  #layout-content > .header a.button,
  #layout-content > .header .toolbar a {
    min-width: var(--m-touch-sm) !important;
    min-height: var(--m-touch-sm) !important;
    padding: var(--m-pad-xs) !important;
  }

  /* ── Mobile Selection Bar — fluid ── */
  .gmail-mobile-selection-bar {
    height: var(--m-bar-h) !important;
    min-height: var(--m-bar-h) !important;
    padding: 0 var(--m-pad-sm) !important;
  }
  .gmail-mobile-selection-bar .mobile-sel-btn {
    width: var(--m-touch-sm) !important;
    height: var(--m-touch-sm) !important;
  }

  /* ── Section title — fluid ── */
  .gmail-mobile-section-title {
    padding: var(--m-pad-sm) var(--m-pad-md) var(--m-pad-xs) var(--m-pad-md) !important;
    font-size: var(--m-font-sm) !important;
  }

  /* ── Contacts checkboxes → adapt spacing ── */
  body.task-addressbook #contacts-table td.name {
    padding-left: var(--m-pad-md) !important;
  }

  /* ── TinyMCE toolbar buttons — fluid ── */
  .tox .tox-tbtn {
    height: var(--m-touch-sm) !important;
    margin: 1px clamp(1px, 0.5vw, 3px) !important;
  }
}

/* ── EXTRA SMALL PHONES (≤ 360px, e.g. iPhone SE, Galaxy A01) ── */
@media screen and (max-width: 360px) {
  :root {
    --m-pad-xs: 3px;
    --m-pad-sm: 5px;
    --m-pad-md: 8px;
    --m-pad-lg: 12px;
    --m-font-xs: 10px;
    --m-font-sm: 12px;
    --m-font-md: 13px;
    --m-font-lg: 15px;
    --m-icon: 18px;
    --m-avatar: 32px;
    --m-touch: 34px;
    --m-touch-sm: 28px;
    --m-bar-h: 44px;
    --m-gap: 8px;
  }

  /* Tighten row gaps and row padding for tiny screens */
  .gmail-mobile-row-wrap {
    padding: 6px 8px !important;
    gap: 8px !important;
  }
  .gmail-mobile-content {
    gap: 1px !important;
  }
  .gmail-mobile-sender {
    font-size: 13px !important;
  }
  .gmail-mobile-line2 {
    font-size: 12px !important;
  }
  .gmail-mobile-snippet {
    font-size: 11px !important;
  }

  /* Compose bottom bar: shrink icons to fit */
  .compose-actions-group {
    gap: 0 !important;
  }
  .compose-icon-btn,
  .formbuttons .compose-icon-btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }
  .compose-icon-btn svg,
  .formbuttons .compose-icon-btn svg {
    width: 16px !important;
    height: 16px !important;
  }
  .gmail-send-group .gmail-send-main-btn,
  .formbuttons .btn-primary.send {
    padding: 0 8px !important;
    font-size: 12px !important;
  }
  .gmail-send-group {
    border-radius: 14px !important;
  }

  /* Search bar tighter */
  #gmail-mobile-search-bar {
    margin: 4px 8px !important;
    width: calc(100% - 16px) !important;
  }

  /* Bottom nav compact */
  #gmail-mobile-bottom-nav .mobile-nav-label {
    font-size: 9px !important;
  }

  /* FAB smaller */
  #layout-list .floating-action-buttons a,
  .floating-action-buttons a {
    height: 42px !important;
    padding: 0 14px 0 10px !important;
    font-size: 12px !important;
  }

  /* Sidebar drawer narrower */
  body.task-mail #layout-sidebar,
  body.task-mail #layout > #layout-sidebar {
    width: 240px !important;
  }
}

/* ── LARGE PHONES (≥ 414px, e.g. iPhone Plus/Max, Galaxy S series) ── */
@media screen and (min-width: 414px) and (max-width: 768px) {
  :root {
    --m-avatar: 42px;
    --m-touch: 44px;
    --m-touch-sm: 36px;
    --m-bar-h: 52px;
    --m-font-md: 15px;
    --m-font-lg: 17px;
  }

  .gmail-mobile-row-wrap {
    padding: 10px 16px !important;
    gap: 14px !important;
  }
  .gmail-mobile-sender {
    font-size: 15.5px !important;
  }

  /* Bottom nav slightly taller */
  #gmail-mobile-bottom-nav .mobile-nav-icon-wrap {
    height: 28px !important;
    border-radius: 14px !important;
  }

  /* Compose bar — use full sizing */
  .compose-icon-btn,
  .formbuttons .compose-icon-btn {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }
  .gmail-send-group .gmail-send-main-btn,
  .formbuttons .btn-primary.send {
    padding: 0 16px !important;
    font-size: 14px !important;
  }
}

/* ── LANDSCAPE MODE — adapt heights for reduced vertical space ── */
@media screen and (max-width: 768px) and (orientation: landscape) {
  :root {
    --m-bar-h: 40px;
    --m-avatar: 32px;
    --m-touch: 34px;
    --m-touch-sm: 28px;
  }

  .gmail-mobile-row-wrap {
    padding: 4px 12px !important;
  }
  .gmail-mobile-content {
    gap: 0 !important;
  }
  #gmail-mobile-search-bar {
    height: 40px !important;
    min-height: 40px !important;
    margin: 4px 12px !important;
  }

  /* Make message list taller in landscape by thinning bars */
  body.task-mail #layout > #layout-list,
  body.task-mail #layout-list {
    bottom: 40px !important;
    height: calc(100vh - 40px) !important;
    height: calc(100dvh - 40px) !important;
  }
  body.task-settings #layout,
  body.task-addressbook #layout {
    height: calc(100vh - 40px) !important;
    height: calc(100dvh - 40px) !important;
  }

  /* Compose bottom bar thinner in landscape */
  body.action-compose .formbuttons,
  #compose-content > .formbuttons {
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }
  body.action-compose #compose-content,
  #compose-body-scroll-container {
    padding-bottom: 48px !important;
  }

  /* Hide nav labels in landscape to save space */
  #gmail-mobile-bottom-nav .mobile-nav-label {
    display: none !important;
  }
  #gmail-mobile-bottom-nav .mobile-nav-icon-wrap {
    height: 24px !important;
  }
}

/* ==========================================================================
   MOBILE MESSAGE VIEW RESPONSIVE LAYOUT (Fit all icons, date, star & reply)
   ========================================================================== */
@media screen and (max-width: 600px) {
  /* Prevent horizontal scroll / blowout inside message iframe and preview window */
  html.iframe,
  html.iframe body,
  body.action-preview,
  body.action-preview html,
  body.task-mail.action-show,
  body.task-mail.action-show html {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  html.iframe #layout-content,
  body.action-preview #layout-content,
  body.iframe #layout-content,
  body.task-mail.action-show #layout-content {
    padding: 10px 12px 60px 12px !important;
    max-width: 100vw !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  html.iframe .content.frame-content,
  body.action-preview .content.frame-content,
  body.task-mail.action-show .content.frame-content {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  #message-header {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 0 8px 0 !important;
    width: 100% !important;
  }

  #message-header .subject {
    font-size: 16.5px !important;
    line-height: 1.35 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    margin-bottom: 8px !important;
    width: 100% !important;
  }

  /* Gmail Message Header Card on phone screens */
  .gmail-msg-header-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    margin-top: 4px !important;
    margin-bottom: 8px !important;
    padding-bottom: 10px !important;
  }

  .gmail-msg-avatar {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    font-size: 16px !important;
    flex-shrink: 0 !important;
  }

  .gmail-msg-header-main {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 48px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
  }

  .gmail-msg-row-top {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    gap: 6px !important;
  }

  /* Sender block (Left side) */
  .gmail-msg-sender-info {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 1px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .gmail-msg-from-name {
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 18px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    display: block !important;
  }

  .gmail-msg-from-email {
    font-size: 11.5px !important;
    line-height: 16px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    display: block !important;
  }

  /* Metadata & Actions (Right side: Date above star & reply) */
  .gmail-msg-right-meta {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
    box-sizing: border-box !important;
  }

  .gmail-msg-date {
    font-size: 11px !important;
    line-height: 18px !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  .gmail-msg-actions {
    display: flex !important;
    align-items: center !important;
    gap: 2px !important;
  }

  .gmail-hdr-btn {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    font-size: 14px !important;
    padding: 0 !important;
  }

  .gmail-hdr-btn svg {
    width: 16px !important;
    height: 16px !important;
  }

  /* Recipient & Details row */
  .gmail-msg-row-bottom {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 12px !important;
    margin-top: 2px !important;
    flex-wrap: wrap !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .gmail-msg-to-label {
    font-size: 12px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: calc(100% - 24px) !important;
  }

  /* Message content & body responsive boundaries */
  #messagebody,
  #message-content,
  .headers-table {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
  }

  #messagebody img {
    max-width: 100% !important;
    height: auto !important;
  }
}

/* ==========================================================================
   CONTACTS LIST: Hide Phantom Empty LDAP Container Rows & Styling
   ========================================================================== */
#contacts-table tbody tr.contact:not(.header):not(.group):has(td.name:empty),
#contacts-table tbody tr.contact.gmail-phantom-contact,
table.records-table tbody tr:has(td.name:empty) {
  display: none !important;
}

/* Contacts mobile selection styling */
#contacts-table tbody tr.mobile-selected,
#contacts-table tbody tr.mobile-selected td {
  background-color: #c2e7ff !important;
  color: #001d35 !important;
}

html.dark-mode #contacts-table tbody tr.mobile-selected,
html.dark-mode #contacts-table tbody tr.mobile-selected td {
  background-color: #004a77 !important;
  color: #c2e7ff !important;
}

/* ==========================================================================
   DATEPICKER OVERLAY & CUSTOM DATE RANGE MENU STYLING
   ========================================================================== */
#ui-datepicker-div {
  z-index: 1000000 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35) !important;
  border-radius: 12px !important;
}

@media (max-width: 768px) {
  #ui-datepicker-div {
    max-width: calc(100vw - 20px) !important;
    left: 10px !important;
    right: 10px !important;
    box-sizing: border-box !important;
  }
}



