.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; }