/* Shared raised button finish, taken from the Work Time filter buttons.
   Keep each control's dimensions, layout and semantic/selected colors. */
.mta-button-theme {
  --button-raised-shadow: 0 2px 4px rgba(45,35,66,.4), 0 7px 13px -3px rgba(45,35,66,.3), inset 0 -3px 0 #d6d6e7;
  --button-hover-shadow: 0 4px 8px rgba(45,35,66,.4), 0 7px 13px -3px rgba(45,35,66,.3), inset 0 -3px 0 #d6d6e7;
}
.mta-button-theme :is(button, input[type=button], input[type=submit], input[type=reset], a.button-30, .menu-button-container, .mta-show-todos) {
  appearance: none;
  border-radius: var(--control-radius, 9px) !important;
  box-shadow: var(--button-raised-shadow) !important;
  transition: box-shadow .15s, transform .15s;
}
@media (hover: hover) {
  .mta-button-theme :is(button, input[type=button], input[type=submit], input[type=reset], a.button-30, .menu-button-container, .mta-show-todos):not(:disabled):not([aria-disabled=true]):hover {
    box-shadow: var(--button-hover-shadow) !important;
  }
}
.mta-button-theme :is(button, input[type=button], input[type=submit], input[type=reset], a.button-30, .menu-button-container, .mta-show-todos):focus-visible {
  outline: 3px solid #765bf5 !important;
  outline-offset: 3px;
}
.mta-button-theme :is(button, input[type=button], input[type=submit], input[type=reset], a.button-30, .menu-button-container, .mta-show-todos):not(:disabled):not([aria-disabled=true]):active {
  box-shadow: inset 0 3px 7px #d6d6e7 !important;
}
.mta-button-theme :is(button, input[type=button], input[type=submit], input[type=reset]):disabled,
.mta-button-theme [aria-disabled=true] {
  box-shadow: inset 0 -1px 0 #d6d6e7 !important;
  opacity: .5;
  cursor: default;
}
@media (prefers-reduced-motion: reduce) {
  .mta-button-theme :is(button, input[type=button], input[type=submit], input[type=reset], a.button-30, .menu-button-container, .mta-show-todos) { transition: none; }
}

/* Center labels independently of inherited page/theme text alignment.
   Keep existing flex layouts so icons and stacked tab labels stay together. */
.mta-button-theme :is(button, input[type=button], input[type=submit], input[type=reset], a.button-30) {
  text-align: center;
  text-indent: 0;
}

/* Form-field spacing must not offset labels inside buttons. */
.mta-button-theme :is(button, a.button-30) span {
  margin-left: 0;
}
