/* Shared primary CTA — sign-in, dashboard, hub (matches Connected state) */

.bx-cta-primary,
.sic2-btn,
.btn-arifi-primary,
.bx-hub-btn:not(.bx-hub-btn--ghost) {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  width: 100%;
  min-height: 2.75rem;
  padding: 0.65rem 1.15rem;
  border: none;
  border-radius: 0.75rem;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: #ffffff;
  cursor: pointer;
  text-decoration: none;
  background: linear-gradient(180deg, #ff8080 0%, #ef4444 42%, #dc2626 78%, #991b1b 100%);
  box-shadow:
    0 10px 32px -8px rgba(239, 68, 68, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    inset 0 -1px 0 rgba(0, 0, 0, 0.12);
  transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
}

.bx-hub-btn:not(.bx-hub-btn--ghost) {
  width: auto;
}

.bx-cta-primary:hover:not(:disabled),
.sic2-btn:hover:not(:disabled),
.btn-arifi-primary:hover:not(:disabled),
.bx-hub-btn:not(.bx-hub-btn--ghost):hover:not(:disabled) {
  filter: brightness(1.05);
  transform: translateY(-1px);
  box-shadow:
    0 14px 36px -6px rgba(239, 68, 68, 0.62),
    inset 0 1px 0 rgba(255, 255, 255, 0.4),
    inset 0 -1px 0 rgba(0, 0, 0, 0.1);
}

.bx-cta-primary:active:not(:disabled),
.sic2-btn:active:not(:disabled),
.btn-arifi-primary:active:not(:disabled),
.bx-hub-btn:not(.bx-hub-btn--ghost):active:not(:disabled) {
  transform: translateY(0);
  filter: brightness(0.98);
}

.bx-cta-primary:disabled,
.sic2-btn:disabled,
.btn-arifi-primary:disabled,
.bx-hub-btn:not(.bx-hub-btn--ghost):disabled {
  opacity: 0.88;
  cursor: default;
  transform: none;
}

.bx-cta-primary.is-loading:disabled,
.sic2-btn.is-loading:disabled,
.btn-arifi-primary.is-loading:disabled {
  cursor: progress;
}

.bx-cta-primary.is-success:disabled,
.sic2-btn.is-success:disabled,
.btn-arifi-primary.is-success:disabled {
  cursor: default;
  opacity: 1;
  filter: none;
}
