| .dw-btn { |
| display: inline-flex; |
| align-items: center; |
| justify-content: center; |
| gap: var(--space-2); |
| border-radius: var(--radius-md); |
| border: 1px solid transparent; |
| font-weight: 500; |
| cursor: pointer; |
| white-space: nowrap; |
| text-decoration: none; |
| transition: background var(--transition-fast), border-color var(--transition-fast), |
| color var(--transition-fast), transform var(--transition-fast); |
| } |
|
|
| .dw-btn:active:not(:disabled) { |
| transform: translateY(1px); |
| } |
|
|
| .dw-btn:disabled { |
| cursor: not-allowed; |
| opacity: 0.5; |
| } |
|
|
| .dw-btn--md { |
| height: 36px; |
| padding: 0 var(--space-4); |
| font-size: var(--text-sm); |
| } |
|
|
| .dw-btn--sm { |
| height: 28px; |
| padding: 0 var(--space-3); |
| font-size: var(--text-xs); |
| } |
|
|
| .dw-btn--primary { |
| background: var(--color-accent); |
| border-color: var(--color-accent); |
| color: #ffffff; |
| } |
| .dw-btn--primary:hover:not(:disabled) { |
| background: var(--color-accent-strong); |
| border-color: var(--color-accent-strong); |
| } |
|
|
| .dw-btn--secondary { |
| background: var(--color-surface-raised); |
| border-color: var(--color-border-strong); |
| color: var(--color-text-primary); |
| } |
| .dw-btn--secondary:hover:not(:disabled) { |
| background: var(--color-surface-hover); |
| } |
|
|
| .dw-btn--ghost { |
| background: transparent; |
| border-color: transparent; |
| color: var(--color-text-secondary); |
| } |
| .dw-btn--ghost:hover:not(:disabled) { |
| background: var(--color-surface-hover); |
| color: var(--color-text-primary); |
| } |
|
|
| .dw-btn--danger { |
| background: var(--color-danger-soft); |
| border-color: transparent; |
| color: var(--color-danger); |
| } |
| .dw-btn--danger:hover:not(:disabled) { |
| background: var(--color-danger); |
| color: #ffffff; |
| } |
|
|
| .dw-btn--warning { |
| background: rgba(234, 179, 8, 0.15); |
| border-color: transparent; |
| color: #eab308; |
| } |
| .dw-btn--warning:hover:not(:disabled) { |
| background: #eab308; |
| color: #000000; |
| } |
|
|
| .dw-btn__icon { |
| display: inline-flex; |
| align-items: center; |
| } |
|
|