/* UPA — Buttons, Alerts & Badges */
body.upa-page .tg-button,
body.upa-page .btn {
  border-radius: 10px;
  border: 1px solid transparent;
  min-height: 2.35rem;
  padding: 0.52rem 0.9rem;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  transition: transform 140ms ease, background-color 140ms ease, border-color 140ms ease;
}

body.upa-page .tg-button:hover,
body.upa-page .btn:hover {
  opacity: 1;
  transform: translateY(-1px);
}

body.upa-page .tg-button,
body.upa-page .tg-button.primary,
body.upa-page .btn-primary {
  background: var(--upa-primary);
  color: #fff;
}

body.upa-page .tg-button.success,
body.upa-page .btn-success {
  background: var(--upa-success);
  color: #fff;
}

body.upa-page .tg-button.info {
  background: #2f7fca;
  color: #fff;
}

body.upa-page .tg-button.outline,
body.upa-page .tg-button.secondary,
body.upa-page .btn-outline-primary,
body.upa-page .btn-secondary {
  background: transparent;
  color: var(--upa-primary);
  border-color: color-mix(in srgb, var(--upa-primary) 40%, white 60%);
}

body.upa-page .tg-button.danger,
body.upa-page .btn-danger {
  background: var(--upa-danger) !important;
  color: #fff !important;
  border-color: color-mix(in srgb, var(--upa-danger) 80%, black 20%) !important;
}

body.upa-page .btn-outline-danger {
  background: #fff !important;
  color: var(--upa-danger) !important;
  border-color: var(--upa-danger) !important;
}

body.upa-page .btn-outline-primary:hover,
body.upa-page .tg-button.outline:hover,
body.upa-page .tg-button.secondary:hover {
  background: rgba(31, 111, 235, 0.09);
}

body.upa-page .btn-outline-danger:hover,
body.upa-page .tg-button.danger:hover,
body.upa-page .btn-danger:hover {
  color: #fff !important;
  background: #b72843 !important;
}

body.upa-page .tg-button.is-disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

body.upa-page .btn-sm,
body.upa-page [class*="tg-button.sm"],
body.upa-page .tg-button.sm,
body.upa-page .tg-button-sm {
  min-height: 2rem;
  padding: 0.42rem 0.72rem;
  font-size: 0.8rem;
}

body.upa-page .tg-alert,
body.upa-page .alert {
  border-radius: 12px;
  border: 1px solid transparent;
  padding: 0.85rem 0.95rem;
}

body.upa-page .tg-alert-danger,
body.upa-page .alert-danger {
  background: #fff1f3;
  border-color: #ffc7d0;
  color: #8b1e31;
}

body.upa-page .tg-alert-success,
body.upa-page .alert-success {
  background: #ecfdf5;
  border-color: #b7f0d5;
  color: #106a43;
}

body.upa-page .tg-alert-warning,
body.upa-page .alert-warning {
  background: #fff8eb;
  border-color: #f5d7a6;
  color: #915c14;
}

body.upa-page .tg-alert-info,
body.upa-page .alert-info {
  background: #eef6ff;
  border-color: #c8defa;
  color: #1a4f95;
}

body.upa-page .tg-badge,
body.upa-page .badge {
  border-radius: 999px;
  background: #ecf2fa;
  color: #35506f;
  border: 1px solid #d4e1f0;
  font-size: 0.73rem;
  font-weight: 600;
}

body.upa-page .tg-badge-danger {
  background: #fff1f3;
  color: #8b1e31;
  border-color: #ffc7d0;
}

body.upa-page .upa-button-danger-outline,
body.upa-page .upa-button-danger-outline:visited {
  background: #fff !important;
  color: var(--upa-danger) !important;
  border: 1px solid var(--upa-danger) !important;
}

body.upa-page .upa-button-danger-outline:hover {
  background: color-mix(in srgb, var(--upa-danger) 8%, white 92%) !important;
  color: color-mix(in srgb, var(--upa-danger) 85%, black 15%) !important;
  border-color: color-mix(in srgb, var(--upa-danger) 85%, black 15%) !important;
}
