/* Final shared color layer: retain each control's layout and hit area. */
:root {
  --button-bg: #142b4b;
  --button-hover: #203f67;
  --button-pressed: #0c203c;
  --button-border: #426591;
  --button-text: #edf4ff;
  --button-primary: #84a9dd;
  --button-primary-hover: #a0bfea;
  --button-primary-pressed: #638cc6;
}
/* Standard .button controls retain the established 8px portal geometry. */
.news-review-dialog button { border-radius: 8px; }
.profile-settings-nav nav button { margin-top: 0; min-height: 44px; border-width: 1px; border-style: solid; }
/* Important only for colors, to supersede older page-specific button palettes. */
:is(button, .button, .table-action):not(.sort-button) {
  background-color: var(--button-bg) !important;
  background-image: none !important;
  border-color: var(--button-border) !important;
  color: var(--button-text) !important;
  font-family: inherit;
  cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
}
:is(button, .button, .table-action):not(.sort-button):hover:not(:disabled):not([aria-disabled="true"]) {
  background-color: var(--button-hover) !important;
  border-color: var(--button-primary) !important;
}
:is(button, .button, .table-action):not(.sort-button):active:not(:disabled):not([aria-disabled="true"]) {
  background-color: var(--button-pressed) !important;
}
:is(button, .button, .table-action):not(.sort-button):is(.button-primary, [type="submit"], .is-current, .is-selected, .is-active, .table-action-active, [aria-current="page"], [aria-pressed="true"], [aria-checked="true"]) {
  background-color: var(--button-primary) !important;
  border-color: var(--button-primary) !important;
  color: #090925 !important;
}
:is(button, .button, .table-action):not(.sort-button):is(.button-primary, [type="submit"], .is-current, .is-selected, .is-active, .table-action-active, [aria-current="page"], [aria-pressed="true"], [aria-checked="true"]):hover:not(:disabled):not([aria-disabled="true"]) {
  background-color: var(--button-primary-hover) !important;
}
:is(button, .button, .table-action):not(.sort-button):is(.button-primary, [type="submit"], .is-current, .is-selected, .is-active, .table-action-active, [aria-current="page"], [aria-pressed="true"], [aria-checked="true"]):active:not(:disabled):not([aria-disabled="true"]) {
  background-color: var(--button-primary-pressed) !important;
}
:is(button, .button, .table-action):is(.button-danger, .table-action-danger, .app-modal-confirm-danger) {
  background-color: #382033 !important;
  border-color: #a35870 !important;
  color: #ffd1da !important;
}
:is(button, .button, .table-action):is(.button-danger, .table-action-danger, .app-modal-confirm-danger):hover:not(:disabled) {
  background-color: #54283f !important;
  border-color: #d47c94 !important;
}
:is(button, .button, .table-action):is(.button-danger, .table-action-danger, .app-modal-confirm-danger):active:not(:disabled) {
  background-color: #291326 !important;
}
:is(button, .button, .table-action):focus-visible {
  outline: 2px solid #a0c6ff;
  outline-offset: 3px;
}
:is(button, .button, .table-action):disabled,
:is(button, .button, .table-action)[aria-disabled="true"] {
  background-color: #101e38 !important;
  border-color: #2e466b !important;
  color: #91a8c8 !important;
  opacity: .7;
  cursor: not-allowed;
}
#profile-passkeys { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 24px; }
#profile-passkeys > summary { display: block; font-size: 1.2rem; font-weight: 600; margin-bottom: 12px; }
@media (prefers-reduced-motion: reduce) {
  :is(button, .button, .table-action) { transition: none; }
}
