/* Theme-level button colors. Geometry belongs to the base/final button owners.
   Keep this layer flat so the public login screen and app fallback share the
   same palette without competing gradient declarations. */
.btn:not(.btn-primary):not(.btn-danger):not(.icon-action-btn):not(.action-menu-btn):not(.modal-close-btn) {
  background: var(--ui-btn-neutral-bg);
  color: var(--ui-btn-neutral-fg);
  border: 0;
  box-shadow: none;
  font-weight: 600;
  opacity: 1;
}

.btn:not(.btn-primary):not(.btn-danger):not(.icon-action-btn):not(.action-menu-btn):not(.modal-close-btn):hover,
.btn:not(.btn-primary):not(.btn-danger):not(.icon-action-btn):not(.action-menu-btn):not(.modal-close-btn):focus-visible {
  background: var(--ui-btn-neutral-hover);
  color: var(--accent-strong);
  border: 0;
  opacity: 1;
}

.btn-primary {
  background: var(--ui-btn-primary-bg);
  color: #ffffff;
  border: 0;
  box-shadow: none;
  opacity: 1;
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background: var(--ui-btn-primary-hover);
  color: #ffffff;
}

.btn-danger {
  background: var(--btn-danger-bg);
  color: var(--btn-danger-fg);
  border: 0;
  box-shadow: none;
}

.btn-danger:hover,
.btn-danger:focus-visible {
  background: var(--btn-danger-hover-bg);
  color: var(--btn-danger-hover-fg);
}

.btn:disabled,
.btn[disabled] {
  border: 0;
  box-shadow: none;
  cursor: not-allowed;
  opacity: .68;
}

.btn:not(.btn-primary):not(.btn-danger):not(.icon-action-btn):not(.action-menu-btn):not(.modal-close-btn):disabled,
.btn:not(.btn-primary):not(.btn-danger):not(.icon-action-btn):not(.action-menu-btn):not(.modal-close-btn)[disabled],
.btn-primary:disabled,
.btn-primary[disabled] {
  background: var(--ui-btn-disabled-bg);
  color: var(--ui-btn-disabled-fg);
}

.btn-danger:disabled,
.btn-danger[disabled] {
  background: var(--btn-danger-disabled-bg);
  color: var(--btn-danger-disabled-fg);
}
